Pythonスクリプトを exeパッケージにする

GNU/Linux

Ubuntu 24環境で作ったPythonスクリプトを、Windows環境で動作するようにパッケージング

仮想環境ディレクトリを作成

Windowsコマンドプロンプト
> python -m pip --version #バージョン確認
> python3 -m venv env     #仮想環境ディレクトリを作成 この場合は "env"
> cd env

仮想環境への切り替え

作った仮想環境、envディレクトリにある、Scripts\activate.bat を実行します。

Windowsコマンドプロンプトでの切り替え
> env\Scripts\activate.bat #活性化
(.venv) C:\Users\USERNAME\Work\Himadawa\env

モジュールパッケージをインストールします。
ここでは、
tkinter → 標準の Python インターフェースです。
pyserial → シリアル通信を行うためのライブラリです。

(.venv) C:\Users\USERNAME\Work\Himadawa\env>python -m pip install tkinter
ERROR: Could not find a version that satisfies the requirement tkinter (from versions: none)

!?なぜ?
調べてみると名称が違うらしい。(クイズじゃないんだから~)
tkinter は、pytk

(.venv) C:\Users\USERNAME\Work\Himadawa\env>python -m pip install pytk
(.venv) C:\Users\USERNAME\Wぱork\Himadawa\env>python -m pip install pyserial

pytk (tkinter) 及び pyserial を用いたPythonスクリプトの動作を確認します。

pyinstaller

pyinstaller をインストールします。

PyInstaller Manual — PyInstaller 6.17.0 documentation

pyinstaller はクロスコンパイラではないので、Windowsアプリを作るには、Windows環境で pyinstaller を動かす必要があるそうです。

pyinstaller を使って exeファイルを作ります。

>pyinstaller himadawa-cover-ctrl.py --onefile --noconsole

オプションは、
–onefile → 単一ファイルにバンドルされた実行可能ファイルを作成します。
–noconsole → 標準入出力用のコンソールウィンドウを提供しません。

dist ディレクトリに exeファイルが生成されます。

Pythonモジュールも含まれているので、exeファイル単体で動きます。
ただし、ファイル容量が大きくなります。ソースも見られません。

コメント