こんにちは、家庭内エンジニアのネコヤナギ🐈です。
Amazonのペイメントの過去の決済情報レポートデータから軽減税率分の売上高と税金を計算するためにツールを作成しました。
【tkinter でテキストファイルをドラッグアンドドロップしたら計算結果が出る】という構造にしたところ、exe化する際に少しだけ躓いたのでシェアします。
PythonのコードをPyinstallerでexe化したときのファイルサイズ
tkinter でテキストファイルをドラッグアンドドロップしたら、テキストデータをExcelに変換して中身を集計するというコードを作ってexe化したところ36.8MBになりました。
もう少し軽量化できないかな、と思ってググったところ、NuitkaがPyinstallerより軽量だということを知りました。
PythonのコードをNuitkaでexe化した結果と注意点
まず、注意点から。
この記事を書いている2024/2/10現在、、NuitkaがまだPython 3.12を正式にサポートしていません。そのためPython3.11を使う必要があります。
Nuitakaでexe化したところファイルサイズは32.653KB(32MB)になりました。
4MBほど軽量化できました。
Nuitkaでexe化した際に使用したオプション
–onefile | ファイルを1つにまとめる |
–windows-disable-console | exeを実行中にコンソールの非表示 |
–standalone | pythonが入っていないファイルでも起動できる |
この他にアイコンを設定するために、–windows-icon-from-ico=image.ico もオプションに追加しました。
Nuitkaの使い方
Nuikaはpipを使ってインストールすることができます、
python -m pip install nuitka
注意点のところでもお伝えしたように、この記事を書いている現在ではPython3.11までにしか対応していないので仮想環境のPythonのバージョンは3.11に設定しましょう。
バージョンを設定して仮想環境を作るコマンドは下記のとおりです。
> py -3.11 -m venv VENV_NAME
仮想環境をアクティベイトした後はexe化したいファイルにcdコマンドで移動し、オプションを任意で追加しつつ、Nuitkaを実行します。
nuitka --onefile main.py
コメント