はい、どーもまるです。
今回は自作したPythonプログラムを配布したい時に、ソースコードの改竄・流出防止のためにexe型の実行ファイルにパッケージングする方法を解説します。
所要時間:3分
モジュールのインストール
pyinstallerという外部moduleを使います。
pip install pyinstaller
若しくは
pip3 install pyinstaller
ないしは
conda install pyinstaller
など、各自の環境に合わせてモジュールをインストールします。
自分がpipとpip3のどちらか分からないという方は、こちらの記事(Qiita)をご覧ください。
CondaはAnaconda環境で構築している方向けです。
こちらの記事に非常に分かりやすくまとめてあるので、興味ある方はご覧下さい。
追記:Anaconda環境で行う場合、コンパイルするファイルによっては注意が必要なようです。
詳しくは右記参照。⇒ 【悲報】PyInstallerさん、300MBのexeファイルを吐き出すようになる
実行コマンド
続いて以下のコマンドを実行します。
pyinstaller ○○.py --onefile --noconsole
これにて同一ディレクトリに完成します。
・・・じゃ記事として味気ないので、引数に使えるオプションを列挙しておきます。
オプション引数まとめ
オプションは順不同で複数利用可能です。モノによっては一文字で実行できるようショートコマンドもありますので、使いこなして出来るエンジニア感を演出しましょう。(´・ω・)
上から個人的によく使う順です。
参考:公式ドキュメント
#単一化
--onefile / -F
#コンソール非表示
--noconsole / -w
#PyInstallerのキャッシュを削除(うまくいかない時に使用)
--clean
#アイコン埋め込み(Pythonデフォルトから変更することが出来る)
--icon=○○.ico / -i=○○.ico
#バージョン管理(Windows専用)
--version-file versioninfo.txt
#難読化
--key
#管理者権限で実行バイナリを作成
--uac-admin --uac-uiaccess
#上書き確認なし
--noconfirm / -y
バージョン管理については札幌社長さんのこちらの方の記事が大変分かりやすくまとめられています。
UTF-8形式のtxtファイルで記述し、その内容を埋め込みます。
以上です!お疲れ様でした。