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超えしました。
サイズが小さくないと困る、などある場合はテキストのまま配布したほうが良いでしょう。
以上!