PythonのプログラムをEXE化に挑戦(PyInstaller)

2022年8月8日

はじめに

今回は、Pythonを取り上げて、Pythonが入っていない環境でも動く用に変換するソフトを試してみたいと思います。第一弾は、一番有名な「PyInstaller」を試してみたいと思います。

PyInstallerを実行する為の仮想環境の作成

これを行わないとファイルが大きすぎて使い物になりません。
PyInstallerでは起動時に、必要なファイルを解凍してから実行するので、ファイルは大きいほど遅いってことになります。(Anacondaを使っていることを想定で書きたいと思います。)

下記の作業は、「Anaconda Prompt」で行ってください。

1.専用の仮想環境を作成します。

conda create -n env1

2.作った仮想環境に切り替え

activate env1

3.pipのインストールする。(最小限でcondaを利用)

conda install pip

4.プログラムに必要なライブラリをpipでインストールする。(下記は例です。)

pip install requests
pip install pandas
pip install TA_Lib-0.4.24-cp39-cp39-win_amd64.whl
pip install scikit-learn

5.パッケージの一覧を確認する。不要なものが無いか確認しておきましょう。

conda list

6.Pyinstallerをインストールする。

pip install pyinstaller

7.Pyinstallerを実行する。

pyinstaller hello.py --onefile

8.動作確認してみる。

「ModuleNotFoundError: No module named ***」のようなエラーが出る場合は、エラーに出たライブラリを指定して、再度Pyinstallerを実行してください。

pyinstaller -F -c hello.py --hidden-import sklearn.utils._typedefs

その他(覚書)

現在の仮想環境の一覧表示

conda info -e

仮想環境の削除

conda remove -n env1 --all

まとめ

いかがだったでしょうか?専用の環境を作ってあげるという部分と、パッケージはpipでのみ入れるって事だけ気をつければOKです。
また次回以降取り上げますが、一番エラーが出にくい方法のような気もします。
さっくっと作ったプログラムを配布するときに、ぜひ試してみてください。

IT,Python

Posted by スングル