1. ホーム
  2. python

[解決済み] Windows- アプリクリック時のPyinstallerエラー "failed to execute script" について

2022-02-19 11:53:44

質問

このエラーを克服するのに苦労しています。このエラーメッセージをあらゆる場所で検索しましたが、私の状況に関連するものは何もないようです。

"failed to execute script new-app" 

新規アプリ は私のpython GUIプログラムです。このコマンドでpyinstallerを実行すると、次のようになります。

pyinstaller.exe --onedir --hidden-import FileDialog --windowed --noupx new-app.py

スムーズに動作していますね。また、guiプログラムを実行するコマンドラインを実行すると、完全に動作し、このコマンドを使用してGUIが生成されます。

.\dist\new-app\new-app.exe

しかし、そのファイルにアクセスし、アプリをクリックしてGUIを表示できることを期待すると、上記のようなエラーが発生します。なぜでしょうか?

python2.7を使用しており、OSはWindows7 Enterpriseです。

どんな意見でもいいので、よろしくお願いします。

解決方法は?

さて、私自身の疑問に対する解決策を見つけたようです。

しかし、私は通常のpythonコマンドを使用してプログラムを正常に実行することができましたし、正常にpyinstallerを実行し、質問に記載されているコマンドラインを使用してアプリquot; new_app.exe"を実行することができ、両方のケースでは全く問題なくGUIを表示することができます。しかし、アプリケーションをクリックしたときだけ、GUIを表示させることができず、エラーも発生しません。

そこで、pyinstallerコマンドに追加パラメータ--debugを追加し、--windowedパラメータを削除して、アプリがクリックされたときに実際に何が起こっているかを見ることができるようにしたところ、それを追跡すると多くの意味をなすエラーがあることがわかりました。 "some_image.jpg" そのようなファイルまたはディレクトリがありません。 .

スクリプトを最初から実行しても、コマンドライン "./" を使っても文句を言われないのは、画像ファイルがスクリプトの位置と同じパスに存在したからですが、pyinstaller がアプリ製品を置いている "dist" ディレクトリを作成すると、画像ファイルがそこにないのは完全に理にかなっているので、クリックできるアプリがある dist ディレクトリに移動させるのが基本です!(笑)

つまり、シンプルな答えは、コードで使用されるすべてのメディアファイルまたはフォルダを、exeファイルがあるディレクトリに配置することです。

2つ目の方法は、pyinstallerコマンドに "--add-data <path to file/folder>" (これは異なるファイルを追加するために複数回使用することができます)オプションを追加することで、与えられたファイルまたはフォルダを自動的にexeフォルダに入れることができます。