Win::pyinstallerでpyをexeファイルに
生成AIでもサクッと作ってくれるPythonプログラムだが,Pythonはインタプリタだ.なのでいちいちターミナルを立ち上げてpython3を呼び出す必要がある.
$ python3 hogehoge.py
GUI環境では,これは面倒だ.
で,調べたら,pyinstaller というツールがあった.
Pythonコンパイラではないが,環境を一通り整えて実行ファイルを生成してくれる.そういう意味では一種のコンパイラだと言えるかもしれない.
◆インストール:
ターミナルで
$ pip install pyinstaller
これでpyinstallerコマンドにパスが通るはず.通ってなければ環境変数PATHに実行ファイルのパスを追加する.
GUI でWinメニューから選びたい場合は,エクスプローラで実行ファイルのフォルダを開き,pyinstaller.exe を右クリック > スタートにピン留めする
をやっておく.
◆使い方
ターミナルで,ソースファイルを指定するだけ.
$ pyinstaller --onefile <sourcefile>.py
※ただし.オプションなしだと,関連ファイルは別フォルダにおいた状態での .exe ファイルなので,移動する際には "_internal" ディレクトリを一緒に移動させる必要がある.
なので,--onefile オプションをつける.すると関連ファイルを取り込んて1つの .exe ファイルにしてくれるので, .exe ファイルだけどこに置いても実行できる.ただしサイズは大きくなる.
$ pyinstaller --onefile <sourcefile>.py
※さらに,実行のたびにコンソールを出したくない場合は
$ pyinstaller --onefile --noconsole <sourcefile>.py
同じディレクトリに<同じファイル名>.exe という実行ファイルができる.
実行ファイルは独立しているので,どこに持っていっても構わない.
ターミナルから使うならPATHを通す
Winメニューから使うならスタートにピン留め
◆参考:おいらの使い方: DF.INIに登録
おいらはDFのヘビーユーザなので,DF.INIに,選択したファイルに対して,実行ファイル化したプログラムを実行する設定を書いている.あくまでも参考まで.
code:DF.INIの一部
Mem2T(file)="C:\bin\Memo2txt\dist\memo2txt3\memo2txt3.exe $F$R"
Mem2T(dir)="C:\bin\Memo2txt\dist\memo2txt2\memo2txt2.exe $F$R"
vsplit="C:\bin\vsplit\vsplit.exe $F$R"
以上.