Pythonで作ったスクリプトをexe化する方法です。スクリプトをWindowsの実行ファイル(.exe)にします。
『pyhon.py→exe化→軽量化→高速化 忘備録(pyinstaller py2exe)』
https://medium.com/lsc-psd/pyhon-py-exe%E5%8C%96-%E8%BB%BD%E9%87%8F%E5%8C%96-%E9%AB%98%E9%80%9F%E5%8C%96-%E5%BF%98%E5%82%99%E9%8C%B2-pyinstaller-py2exe-4cd7c5f70c99
こちらの記事を参考にPythonで作ったスクリプトをexeファイルにしようとしました。
僕は、Pythonのバージョン管理システムはPipenv環境なので「pip」とするところはすべて「pipenv」にしています。各自読み替えて下さい。
・まずはpyinstallerをインストールする
まず
pipenv install pyinstaller
として、pyinstallerのモジュール(ライブラリ)をインストールします。
・次に、exe化したいPythonスクリプトファイル(.py)をexeに変換する
exe化したいスクリプトのファイル名をdo.pyだとすると
pyinstaller do.py --onefile
としてあげて、そのコマンドで作られたdistというフォルダの中に
do.exe
というファイルが作られれば完成です。
これで終わりです。
・コマンドプロンプトを出したくない場合は .py ではなく .pyw としてコマンドを実行する
実は、.pyをそのままexe化すると、プログラム実行時にコマンドプロンプトが起動した状態になります。
これでは気になる方がいると思いますので、その場合は元のスクリプトファイルの名前を
do.pyw
のように、拡張子を pyw にします。
そして
pyinstaller do.pyw --onefile
というコマンドを打つと、出来上がったプログラムファイルでは、コマンドプロンプトが起動しなくなります。ゲームやTkinterを使ったプログラムなどをexe化するときはこちらのやり方を使うと良いかもしれません。
以上です。
・おまけ
もし上記で、エラーが出た場合は、
コマンド実行後に
do.spec
というファイルが作られるので、そのファイルの中にある
hiddenimports=[]
という部分を
hiddenimports=['pkg_resources.py2_warn']
と変えてあげると良いそうです。
ちなみに、ここがポイントで、
'
の部分は'
(シングルクォート)だと思います(おそらく)。
分からなかったらこれをコピペして下さい。
キーボードでいうと、シフトキーを押しながら7のボタンを打つと出力される記号です。
そうしたら今度は
pyinstaller do.spec --onefile
と打つと、distというフォルダの中に
do.exe
という実行ファイルが出来上がるはずです。
また、場合によってはセキュリティの設定を一時的にオフにする必要もあるようです。
【5分で解決】pyinstallerでexe生成中にでるエラーコード110
http://kakedashi-xx.com:25214/index.php/2022/12/13/post-7521/
以上で動きました。
何かの参考になれば幸いです。
参考:「パソコンのキーボードの記号の読み方」
http://tabotabo.my.coocan.jp/ccc/kigo.htm
「【Python】GUI表示におけるコンソール画面(コマンドプロンプト)を非表示にする方法」
https://genchan.net/it/programming/python/4183/