PyInstallerでexeファイルが出来ない。対処法

PyInstallerとは?

PyInstallerとは.pyファイルをコンパイルして.exeファイルに変換することが出来ます。
公式ではありませんがこちらの記事がとても詳しく書いています。
https://sapporo-president.com/archives/16547#toc_id_6_1

.exeファイルが出来ない理由

.exeファイルが出来ない理由として考えられるのはpythonのバージョンが合っていない場合があります。PyInstallerではpythonのバージョン3.6が推奨されているようです。私の場合3.9だったので.exeファイルが作成されませんでした。3.7では問題なく作成されるようですが、3.8の場合は不安定らしいです。つまり3.6のバージョンでうまくいくようです。

python 3.6をインストールする

python3.6をインストールする手順はこちらの記事を参考にしました。
https://www.kkaneko.jp/tools/win/python36.html#S1

3.6.8を公式からダウンロードするにはコチラから
https://www.python.org/downloads/release/python-368/
こちらをダウンロードすると良いようです。
Windows x86-64 executable installer

PyInstallerをインストールする

PyInstallerをインストールするには以下のコマンドで出来ます。

python -m pip install pyinstaller

PyInstallerの使い方

pyinstaller [file] [option]

オプション
単一ファイルで出力 –onefile
コンソールの非表示 –noconsole
アイコンの設定 –ico=icon.ico

オプションは複数同時に使う事ができます。

pyinstaller file.py --onefile --noconsole

アイコンへの変換は以下のリンクなどで変換できます。
http://www.rw-designer.com/image-to-icon

実行するとファイルとフォルダが作成されますが、.exeファイルはdistフォルダにあります。

完成した.exeを実行するときは念のためバックアップをとったり仮想環境で行ったほうが良いですよ。