見出し画像

【python】nuitkaでpythonコードからexeファイルを作成する方法

はじめに

  • pythonで便利なツールを作成した

  • でも、実行するにはpythonが入っているPCでしか使えないよね…?

  • nuitkaでexe化すれば、pythonの入ってないPCでも実行できるよ!!

動作環境

いつもの
  • python:3.12.1

    • nuitka:2.2.1

    • pillow:10.3.0

1. nuitkaの導入

pipコマンドで導入できます

pip install nuitka

実行結果

2. 基本的な使い方

コマンドプロンプトで、pythonプログラムファイルを指定すると
exeファイルを作成してくれます
(今回は、test_nuitka.pyといるファイルをexe化しています)

nuitka --standalone --onefile test_nuitka.py

ちなみに「test_nuitka.py」のコードはこちら
(テスト用のため、極力シンプルにしてあります)

print("Hello, nuitka☆")
input("Enterキー押下でプログラムが終了します")

実行結果

生成されたexeファイルを実行してみる

地味ですが、問題なく動作しています

3. 活用例

nuitkaでは、exeファイルのアイコンを任意指定できるのですが、
形式がICOファイル限定となっています。
せっかくなので、pngファイルをicoファイルに変換するexeファイルを作ってみましょうか

3.1 paintで48x48のpng画像を作成

icoファイルは48x48の小さな画像が必要です

そのため、ペイントを起動して48x48のpng画像を作成します

[ホーム]→[イメージ]の[サイズ変更]からピクセル単位で指定すると楽です

3.2 icoファイルを作成する

今回は、以下のサイトのプログラムを参考にicoファイルを作成しました

プログラムを起動して

icoファイルを生成しました

ファイル名を指定すると、icoファイルになった画像が保存されます

3.3 nuitkaでexe化

先ほど使用したicoファイルを指定します
(icoファイルはカレントディレクトリに配置しておいてください)

nuitka --standalone --onefile --windows-disable-console --enable-plugin=tk-inter --windows-icon-from-ico="hoshi.ico" make_icon.py

オプションですが、以下の通りです

-- standalone:pythonがインストールされていない環境でも使用可能にする
-- onefile:1つのexeファイルにまとめる
--windows-disable-console:実行時にコンソール画面を表示しない
--enable-plugin:tkinter等特定のライブラリを使用する際は指定
--windows-icon-from-ico:アイコンを指定(.ico)

実行結果

「make_icon.exe」が生成され、アイコンが指定のものとなっている

動作テスト

問題なく実行できました!

注意点

  • 使用できるライブラリは限られている

  • 作成したexeファイルがウイルスとして検出されることがある

まとめ

  • nutikaを使用したpythonプログラムのexe化をまとめた

  • windowsのicoファイルは48x48がよいらしい


この記事が気に入ったらサポートをしてみませんか?