仕事の記録

【Python 比較】exe化するならPyinstallerとNuitkaの比較した結果

仕事の記録

こんにちは、家庭内エンジニアのネコヤナギ🐈です。

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-consoleexeを実行中にコンソールの非表示
–standalonepythonが入っていないファイルでも起動できる

この他にアイコンを設定するために、–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

コメント

Copy Protected by Chetan's WP-Copyprotect.
タイトルとURLをコピーしました