【3分で出来る】Python3プログラムをexeファイルに単一化(パッケージ化)する方法

Generative Art by Python3Python3

はい、どーもまるです。

今回は自作した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
Code language: CSS (css)

これにて同一ディレクトリに完成します。

・・・じゃ記事として味気ないので、引数に使えるオプションを列挙しておきます。

オプション引数まとめ

オプションは順不同で複数利用可能です。モノによっては一文字で実行できるようショートコマンドもありますので、使いこなして出来るエンジニア感を演出しましょう。(´・ω・)

上から個人的によく使う順です。

参考:公式ドキュメント

#単一化 --onefile / -F #コンソール非表示 --noconsole / -w #PyInstallerのキャッシュを削除(うまくいかない時に使用) --clean #アイコン埋め込み(Pythonデフォルトから変更することが出来る) --icon=○○.ico / -i=○○.ico #バージョン管理(Windows専用) --version-file versioninfo.txt #難読化 --key #管理者権限で実行バイナリを作成 --uac-admin --uac-uiaccess #上書き確認なし --noconfirm / -y
Code language: PHP (php)

バージョン管理については札幌社長さんのこちらの方の記事が大変分かりやすくまとめられています。
UTF-8形式のtxtファイルで記述し、その内容を埋め込みます。

以上です!お疲れ様でした。

参考文献
  1. PyInstaller 公式ドキュメント
  2. Pythonでexe化 PyInstallerを極める
  3. Pythonスクリプトを単一実行ファイルにする方法
タイトルとURLをコピーしました