pyinstallerを使って、Pythonコードを「.exe」ファイルに変換する
こんにちは、みやま(@AtelierMiyama)です。Pythonコードを「.exe」ファイルに変換する「pyinstaller」について、インストール方法、使い方を説明します。
pyinstallerって?
Python言語で記述したプログラムをWindowsの実行ファイル(.exe)ファイルに変換してくれるツールです。
Pythonで記述したプログラムは、Python環境をインストールしたパソコン上では実行できますが、Python環境をインストールしていないパソコン上では実行できません。作ったプログラムを配布したり沢山のパソコンで動かしたりする場合は、このpyinstallerを使って実行ファイルにした方が便利です。
pyinstallerのインストール方法
Pythonをインストールしてある方は、以下のコマンドでpyinstallerをインストールすることが出来ます。
pyinstallerの実行方法
例
引数に「--onefile」と入力しておくと、関連するファイルを1つにまとめることができます。
--noconsoleはプログラムを実行した際のコンソール画面(真っ黒な画面)を消すことが出来ます。
pyinstallerの実行結果
Pythonファイルと同じフォルダにファイルが多数生成されたかと思います。
そのうち「dist」フォルダ内に、「(Pythonファイル名).exe」が生成されています。
この.exe実行ファイル単体で実行させることができるようになっています。
なお、インストールされているPython環境が32bit版の場合は32bit用のexeファイル、64bit版の場合は64bit用のexeファイルが生成されるようです。
Windows本体が64bit版であれば32bit/64bit両方のexeファイルが動きますが、32bit版Windowsでは64bitのexeファイルは動かせないのでご注意ください。
発生したエラーについて
私の環境では、.exeファイルは生成できましたが、実行時に以下のエラーが発生しました。
Current thread 0x00002d2c (most recent call first):
原因はPython本体のバージョンが3.7であった点でした。私が試した時点では3.7をサポートしていなかったようなので、python 3.7をアンインストール後、python3.6をインストールし直したところ、正常に実行できるようになりました。
また、なかなか無いと思いますが、Pythonコード中でモジュールをimportしている場合、そのモジュールがpyinstallerを実行するPython環境にインストールされていないとエラーが起こるようです。PyCharm等の開発環境を使用していると出会うかもしれません。
オマケ
Python言語の勉強には「Python3 入門ノート」が大変分かり易くて参考になりました。
以上です。