Windows+PyQt5+Python3で作ったプログラムをバイナリ化
PyQtのプログラムをバイナリ化する方法は色々あるみたいだけど、
あんまりPython3には対応していない模様。
対応してるのがこれ
cx_Freeze
そのためこれを導入するのだけど、いたって簡単というかWindows用には
バイナリファイルしかないので落としてきてインストールするだけ。
…なんだけど、バイナリ化するときにエラーが出る。
なんとバグらしい。
cx freeze - CX_Freeze for my python script -- Fix up module error? - Stack Overflow
だからこのサイトから、非公式のwheelを入れなきゃならない。
Python Extension Packages for Windows - Christoph Gohlke
wheelの入れ方は調べればいくつもでてくるので割愛。
wheelさえ入ればこっちのものである。
以下のコードをsetup.pyに記述。
import sys from cx_Freeze import setup, Executable base = None if sys.platform == "win32": base = "Win32GUI" setup( name = "sample", version = "1.0", description = "converter", executables = [Executable("test.py", base=base)])
※test.pyは任意のファイル名です
その後コマンドラインでこれを
python setup.py built
実行すればbuiltディレクトリが出来る。んでその中にexeファイルがあります。
一件落着。