PythonのプログラムをEXE化に挑戦(Nuitka)

2022年8月8日

はじめに

今回は、第2段ということで「Nuitka」を試してみたいと思います。
これは前回の「PyInstaller」と異なり、PythonのコードをC言語にに変換してからコンパイルするという形を取るため、パフォーマンスが一番良いと言われています。

また今回のサンプルは、pandasを入れる方法で紹介したいと思います。
(このようなライブラリを入れるとややこしいんですよね。)

Nuitkaを実行する為の仮想環境の作成

前回と同じように仮想環境を作ってから作業することをおすすめします。
「Nuitka」はC言語に直してコンパイルするので、ものすごく時間がかかります。

下記の作業は、「Anaconda Prompt」で行ってください。

1.専用の仮想環境を作成します。

conda create -n env1

2.作った仮想環境に切り替え

activate env1

3.pipのインストールする。(最小限でcondaを利用)

conda install pip

4.プログラムに必要なライブラリをpipでインストールする。(下記は例です。)

pip install requests
pip install pandas

5.パッケージの一覧を確認する。不要なものが無いか確認しておきましょう。

conda list

6.nuitkaをインストールする。

pip install nuitka zstandard

7.nuitkaを実行する。(かなり時間がかかりますので、覚悟してください。)

nuitka --mingw64 --standalone --show-progress --output-dir=out --plugin-enable=numpy hello.py

8.動作確認してみる。

(番外編)ライブラリを自分でコピーする。

1.下記のコマンドでnuitkaを実行する。

nuitka --mingw64 --standalone --show-progress --nofollow-imports --output-dir=out --plugin-enable=numpy hello.py

2.Anaconda3\Lib\site-packagesのフォルダより、利用しているライブラリのフォルダを1で作成したEXEと同じフォルダに手動でコピーする。

まとめ

いかがだったでしょうか?パフォーマンスを気にするようであれば、良い選択肢なのかもしれませんが、少しお手軽さは劣りますね。
皆様もご自分の用途に合わせて、利用してみてください。

IT,Python

Posted by スングル