asammdf GUIをExe化する
asammdfgui.pyは、完成度の高いプログラムなのですが、独自にパッケージを追加して拡張・改造を行なったものを、
配布することを考えると、必要なPythonパッケージの整合など煩わしいことが発生することが考えられます。
(この問題はPythonのプログラム全体に言える問題だと思うが…)
そこで、今回はプログラムの配布先のPython環境に関わらず、GUIが使用できるように、
asammdfGUI.pyをEXE化することをしたいと思います。
PythonコードのExe化自体は、特に難しいこともないのですが、ここでは前項で変更したコードがExe化されていることも、
念押しで確認していきたいと考えております。
“asammdfgui.py”実行可能な仮想環境に切り替えてから(私の場合は “activate myenv”で仮想環境が切り替わります)、
“asammdfgui.py”のあるフォルダに移動(私の環境では”d:¥Python¥Asammdf_GUI_Test¥gui”)してから、
“pyinstaller asammdfgui_Test.py –onfile”とすれば、EXEファイルの作成が開始されます。
(私の場合は、GUIの実行ファイルを前項の通り”asammdfgui_Test.py”へ変更しています)
今の時点でコードが編集されているのは”HELP”ボタンが押された際に表示するサイトのURLだけなので、
エラーが発生することなく、無事EXEコードが作成されます。
pyinstaller を実行したフォルダの階層に新たに”¥dist”というフォルダが作成されているので、
そちらを開くと、無事”asammdfgui_Test.exe”が作成されています。
各種パッケージがインストールされているためか、作成されたオブジェクトのサイズは270MBと大きなものになっていますが、
個人使用する上では特に問題となるサイズではないと思われます。
pyinstallerでPythonコードのExe化を経験されている方はご存知かとは思いますが、このEXEファイルはZIP(7z)化しても、
サイズは大して変わりません。
作成されたExeをダブルクリックすれば…
コマンドプロンプトが表示されたのち(pyinstallerのオプションを変更すれば表示しなくすることもできます)GUIが無事起動します。
ここで、HELPボタンを押すと…
asammdfでなく、前項で変更した通り当該サイトが表示されます。
以上の結果から、
- asammdfguiはexe化して持ち運び可能
- ローカルに変更したGUIプログラムをpyinstallerによりexe化可能
ということが、ご理解いただけたと思います。
機能の拡張を検討されていない場合でも、asammdfguiのコードの理解を進めるだけで、
asammdfパッケージの使用方法の理解を進めることが可能と考えますので、
是非この機会にコードを眺めてみてください。
最近のコメント