Python プログラムの .exe 化

Python で組んだ自前のプログラムを人に使わせる必要が生じたので、Python をわざわざインストールさせずに済むように、.exe ファイル化してみた。

pyinstaller

Windows 限定の話だが、pyinstaller を使う(pip でインストールするなりする)。


pyinstaller myprogram.py --onefile

おまけ:エスケープシーケンスを有効化

.exe 化はできたのだが、Windows のコマンドプロンプトはデフォルトではエスケープシーケンスにすら対応していない(WSL だ何だと言っても、所詮はポーズなのか?)。.exe 化したプログラムは出力にエスケープシーケンスを利用しているので、どうせならそこもちゃんと表示できるようにしたい。調べてみると、簡単にできることがわかった。

レジストリー(HKEY_CURRENT_USER\Console)に VirtualTerminalLevel = 1 を追加するだけ。

次の内容のテキストファイルを VirtualTerminalLevel.reg として保存したものを使って、レジストリーエディターから統合してもいい:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console]
"VirtualTerminalLevel"=dword:00000001

コメント

このブログの人気の投稿

Mac → Mac のメールアカウントの移行

LiveData と MutableLiveData の使い分け

WireGuard の OpenWrt での運用