2017年9月21日木曜日

PyInstallerでPythonコードをEXEへ変換

***以前書いたアメブロの記事から***

昨日紹介したCythonでwxPythonコードをEXEへ変換した方法ですが、
確認したところ、やはりEXE自体のサイズが小さいですが、
このEXEだけでは実行できませんでした。
PythonのDLLが必要です。

自分で使うときには問題ないですが、
他人に使ってもらうには難しいところがあります。
Pythonだけではなく、wxWidgetsやその他のライブラリーのDLLが既にインストールされていなければ、そのEXEをそのまま使えませんから。

他人に簡単に使ってもらうには、
インストールなし、一つのEXEファイル、
という形式が一番いいと思います。
ならば、PyInstallerが一番やりやすいと思います。

PyInstallerをpipでインストール:
pip install pyinstaller

そして、PyInstallerを実行して、PythonスクリプトをEXEへ変換します。
pyinstaller -F -w my_script.py

これで、my_script.exeという実行可能ファイルが出来上がります。
ちなみに、コンソールプログラムなら、-wというオプションが要らないのです。
そして、アイコンを使いたいときは、スクリプト内のwx.Frameクラスの__init__()メソッドに
        if sys.platform == 'win32':
            exeName = sys.executable
            icon = wx.Icon(exeName, wx.BITMAP_TYPE_ICO)
            self.SetIcon(icon)

を追加して、
pyinstaller -F -w -i my_icon.ico my_script.py
でEXEファイルを作成すれば出来上がります。

ま、py2exeやcx_freezeという方法もありますが、
PyInstallerが一番簡単かなと思います。
色々試してくださいね!😉

0 件のコメント:

コメントを投稿