[PyInstaller]Pythonを実行ファイル化する

公開日:  

python pyinstaller


pythonで作ったプログラムを実行ファイル(.exe)に変換するのには、PyInstallerが使えます。
他にも実行ファイル化できるツールはありますが、PyInstallerはかなり簡単に使えるのでおすすめです。

環境

  • Windows 10
  • Python 3.6.2
  • PyInstaller 3.5

インストール

pipコマンドで簡単にインストールできます。

pip install pyinstaller

実行方法

以下のコマンドでビルド(.pyファイルを.exeファイルに変換)します。オプションは任意です。

pyinstaller .\main.py --onefile --noconsole --clean
  • --onefile 一つのEXEファイルにして出力してくれます。これを指定しないと複数のファイルに分かれて出力されます。
  • --noconsole 作成されたEXEファイルを実行する際にコンソールを出さなくします。これを指定しないとEXEファイルを実行するときコンソールが開きます。
  • --clean ビルドする前に以前ビルドしたときに残った一時ファイルなどを削除します。

ビルドが完了するとカレントフォルダにdistフォルダが作成されます。その中にEXEファイルが作成されているはずです。

作成されたEXEファイルは別のフォルダに移動させてもちゃんと動きます。
プログラム内で相対パスで外部ファイルを指定してたりしたら、動かなくなるかもしれないので注意してください。

作成した実行ファイルを他のPCで動かすときの注意

作成したEXEファイルを別のPCで実行するときは注意が必要な場合があります。

・プラットフォームを合わせる

64bitのPythonで実行ファイル化した場合は、作成したEXEファイルを32bit環境のPCに持って行っても動いてくれません。
そういうときは32bitのPythonをインストールして、そのPython環境でPyInstallerを実行してください。

もちろん、Windowsで作ったものをLinuxで動かすとかもできません。Windowsで動かしたいならWindowsで、Linuxで動かしたいならLinuxでPyInstallerを実行してください。

・外部ファイルの参照

プログラムから外部ファイルを参照しているときは、そのファイルがPC上にあることを確認しましょう。こっちのPCにはあるけど、あっちのPCにはないファイルを参照していたら、動かなくなるかもしれません。

ただ、外部ファイルを実行ファイルに含める方法もあります。以下のページで説明しているので参考にしてください。

まとめ

コマンド一発で、しかも設定ファイルなど用意する必要もなく、簡単にPythonファイルを実行ファイルにすることができます。
実行がちょっと遅いのが不満ですが、とりあえずEXEファイルにしたいときはこれで十分だと思います。



関連記事