pyinstallerで配布可能なexe実行ファイルを生成した。生成自体は成功したが、実際に起動すると黒い画面が一瞬立ち上がるだけで音さたなし。
上記のような状況でできる対処法をご紹介します。
何はともあれまずはどういうエラーがでているのかを確認しましょう。
pyinstaller test.py --onefile --noconsole
いつもの流れでpyinstallerを使ってpythonファイルをonefileオプションとnoconsoleオプションを指定してあげた状態でexe実行ファイルを生成したとします。
そうすると、console画面も表示されないし、どのようなエラーがでているのか一切わからない状態になってしまうため、pyinstallerで生成するコマンドを以下のように記述しなおして再度生成しましょう。
pyinstaller test.py --onefile --debug all
–noconsoleオプションを外して、–debug allオプションを付けて生成するとコマンドプロンプトで実行ログが出力されるようになるのでどこでひっかかっているのかが可視化されます。–noconsoleをつけたままで–debug allもつけてしまうとポップアップが大量にでてくるので気をつけましょう。
最後までexe実行ファイルを実行し終わると、コマンドプロンプトが閉じてしまうため、エラー検出部分だけ抜き出せれば問題ないので途中で全選択でメモ帳などのエディターに張り付けてerrorが検出されている場所を探します。そうすると…
ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.
このようにerrorを見つけることができます。