Pyinstallerを使ってpythonのプログラムファイルを実行ファイル(.exe)にしてきましたが、実行ファイルが大きく、処理速度が遅いと感じていませんか?
Nuitkaを使うと実行ファイルが小さくなり、処理速度も向上します。
ここでは、Nuitkaの概要と使い方を説明しております。
Nuitkaの概要
NuitkaはPyinstallerと同様にpythonのプログラムを実行ファイルにするものです.
NuitkaはプログラムやモジュールをC言語に変換してから実行ファイルを作成するためプログラムの処理が速いくなります。
C言語への変換はMSVC(Microsoft C++及びCをコンパイラーを制御するツール)または MinGW64を使っています。
注意点
実行ファイルは作成したのと同じOS上でないと動作しない。
Windowsで作成した実行ファイルはwindowsでないと動かない.
pythonが32bitでMinGW64(64ビット)版を使う事はできません。
残念なところ
実行ファイル作成時に時間が掛かる。C言語に変換するのに時間が必要なようです。
作成中にエラーが出ると直すのに根気が必要
Nuitkaを使って実行ファイを作成する手順
1.Nuitkaライブラリーとzstandardのインストール
Nuitkaとzstandardをインストールします.
zstandardはプログラムコードを圧縮解凍するものです。
Windowsではコマンドプロンプト、MACではターミナルを開いて以下を実行します。
pip install Nuitka zstandard
ANACONDAの場合は以下のコマンド入力します
conda install Nuitka zstandard
2.実行ファイルの準備
下記のように動作確認のため極力シンプルなプログラムを作成しました.
テキストの文字コードを”UTF-8”としてファイル名をNuitka_test.pyとしました.
print("Nuitka.exe完成")
a=input()
3.Nuitkaで実行ファイルを作成します
file_nameに実行ファイルにしたいプログラム名を記載して以下のコマンドを実行してください。
今回はfile_nameはNuitka_test.pyになります。
nuitka --mingw64 --follow-imports --onefile file_name
・Nuitkaのオプションコマンド
mingw64 | mingw64を使ってコンパイル、デフォルトはMSVC |
follow-imports | プログラムを静的解析をして読み込むファイルを構築対象にします。 |
onefile | ファイルを1つにまとめます。 |
実行すると下記の様なメッセージが出力されます。
NuitkaはPCにGCC[MinGW64]がないと[GCCをAppDataのフォルダー]にインストールするか聞いてきますので[YES]を選択します。
同じ様に[depends]をインストールするか聞いてくるので[YES]を選択します。
GCC[MinGW64]と[depends]のインストールは初めてNuitkaを実行するときのみで2回め以降はこの操作は必要ありません。
スポンサーリンク4.実行ファイルの確認
実行ファイルが完成するとカレンディレクトリーに「file_name.exe」が作成されています。
今回はNuitka_test.exeが作成されました。
ダブルクリックして動作を確認してください。
今回の例だと実行すると以下のうように出力されるはずです。
最後に
Nuitkaを使い実行ファイルを作成するのに時間が必要な場合もありますが、Pyinstallerと比べ完成した実行ファイルの速度は各段に向上しております。
用途によってどちらで実行ファイルを構築するかを決めても良いかもしれませんね。
コメント