コンテンツにスキップ

Top

Python形式のファイルを実行形式(.exe)ファイルに変換するPyInstaller

Pythonで作ったプログラムを配布したい場合、相手のPC環境によってはPythonそもそも入ってなかったりして、もらった方も困ったりします。

そのため、手軽に実行できる、実行形式ファイル(.exe)に変換して配布した方が良かったりします。
(.exeダイレクトだとウィルス扱いされそうですが)

で、それを簡単に実現してくれるのが PyInstaller です。

PyInstaller で Python形式ファイルを実行形式に

公式HPPyInstaller https://www.pyinstaller.org/

にかかれているように、基本的なのはすごい簡単です。

インストールはpipで。

pip install pyinstaller

変換は以下。

pyinstaller yourprogram.py

で、distディレクトリが作られ、その下に実行形式ファイルができてます。

でもなんか、いっぱいファイルできた!1個でいいのに!

と思ったあなた、以下のオプションをつければ理想通りになります。

pyinstaller yourprogram.py --onefile

1ファイルにまとめられた実行ファイルができました!たったこれだけ!

しかし、Qt Quickとかつかったアプリまで変換できるとは思わなかった。すごい。

これでGUIを使ったアプリを簡単に提供できる。

注意点①

実行形式になるだけで、暗号化とかができるわけではないです。

リバースエンジニアリングはやろうと思えばできます。
参考URL: pyinstallerで作成されたexeをデコンパイルする方法(https://kagasu.hatenablog.com/entry/2019/03/26/211203)

商用などで暗号化させたい場合は、 PyArmor を使いましょう。お金かかりますが。

注意点②

ファイルサイズ、えらいでかくなります。Qt Quickをつかったちょっとしたプログラムが楽に100MB超えしました。

サイズが小さくないと困る、などある場合はテキストのまま配布したほうが良いでしょう。

以上!