« 2021年11月 | メイン | 2022年01月 »
2021年12月31日
dlibがマルチバイトでこける件
dlib.simple_object_detector("ある.dat".encode('Shift_JIS'))
多分プラットフォーム関係なしにutf-8でそのまま渡してるんじゃないかな。
windowsの場合 ↑のように文字コード変換して渡したらうまくいった。
が、windowsの場合でもutf-8で動いてることもあるらしいし、結局OSごとに分けたりも出来ないので、shutil.copyfileでコピーして相対パスで確実にマルチバイト入っていない状況にしてあげてから動作させた。これなら場合分け必要ない。
投稿者 muuming : 10:46
2021年12月26日
kivy exe化
https://kivy.org/doc/stable/guide/packaging-windows.html
python -m PyInstaller --onefile --name myapp myapp.py
で出来たspecを弄る
頭に
from kivy_deps import sdl2, glew
exe = EXE(pyz,
の部分に
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
と exeに取り込む画像類が入ったフォルダを指定
Tree('parts\\'),
a.datas += [
('maru.png', '.\\maru.png', 'DATA'),
('back.png', '.\\back.png', 'DATA'),
('back_press.png', '.\\back_press.png', 'DATA'),
('btnbg.png', '.\\btnbg.png', 'DATA'),
('next.png', '.\\next.png', 'DATA'),
('next_press.png', '.\\next_press.png', 'DATA'),
('select.png', '.\\select.png', 'DATA'),
('my_detector.dat', '.\\my_detector.dat', 'DATA'),
('my_predictor_waku.dat', '.\\my_predictor_waku.dat', 'DATA'),
('ipaexg.ttf', '.\\ipaexg.ttf', 'DATA')
]
で個別にも入れれる
exe = EXE(pyz,
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)],
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
Tree('parts\\'),
name='idcutter',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None )
pyinstaller test.spec
投稿者 muuming : 22:26
2021年12月23日
kivy 自分の範囲内であるか?
def on_touch_down(self, touch): if self.collide_point(*touch.pos):
投稿者 muuming : 06:23
2021年12月17日
kivyで値を監視して変化があればfireさせる
kivyで値を監視して変化があればfireさせるためには
class MenuButton(Button): def __init__(self, **kwargs): super(MenuButton, self).__init__(**kwargs) self.hoge = 11 def on_hoge(self,*argv):
ではだめで
class MenuButton(Button):
hoge = NumericProperty(66)
def on_hoge(self,*argv):
で動作する。なんでもかんでも監視してるわけでは無いのね。
投稿者 muuming : 10:35