Pythonで作成したプログラムをexeファイルにする
プログラム Python
開発環境 Anaconda
流れ
1.pyinstallerをインストール
2..pyファイルを作成
3.Anaconda Promptを開き.pyファイルを保存するフォルダへ移動する
4.pyinstallerコマンドで.pyファイルをexeファイルにする
5.exeファイルを実行して動作確認する
1.pyinstallerをインストール
Anaconda Promptを開き、pip install pyinstaller のコマンドを入力
Jupyter Notebookにて !pip install pyinstaller を実行しても可
2. .pyファイルを作成
通常は ipynb の拡張子として保存されているコード
Jupyter Notebookにて exe にしたいコードを表示
Jupyter Notebookの「File - Download as」でPython(.py)を選択して保存
3.Anaconda Promptを開き.pyファイルを保存するフォルダへ移動する
cd コマンドにて移動
(例:.pyをc:\c:\user\python フォルダへ保存した場合→ cd c:\user\python)
4.pyinstallerコマンドで.pyファイルをexeファイルにする
pyinstaller test.py --onefile
--onefileのオプションを使うとすっきりとファイル1つになる
5.exeファイルを実行して動作確認する
exeファイルは dist フォルダに保存されているので、実行テスト
6.エラーとなる場合
エラーメッセージ:
RecursionError: maximum recursion depth exceeded while calling a Python object
test.pyと同じフォルダにtest.specが作成されているため次のように修正。
# -- mode: python -- の行の下へ次の2行を追記
import sys
sys.setrecursionlimit(5000)
エラーメッセージ:
Failed to execute script pyi_rth_pkgres
test.pyと同じフォルダにtest.specが作成されているため次のように修正。
a = Analysis(['test.py'],
pathex=['C:\Users\xxx'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
a = Analysis(['test.py'],
pathex=['C:\Users\xxx'],
binaries=[],
datas=[],
hiddenimports=['pkg_resources.py2_warn'], ←ココ修正
hookspath=[],
※エラー対応の後は、Anaconda Promptにてpyinstaller test.specを実行
最後にテストを実施でおしまい。