2017-06-20 11 views
1

pyinstaller(v3.2.1)を使用して--onefile windows exeをビルドしています。私は私のpython(v3.5.3)スクリプト内でマルチプロセッシングを使用しています。私は以下のWindowsの回避策を実装しました。 /必要な条件が満たされると、期待どおりに動作している場合を除きPyinstaller - multiprocessing.freeze_supportを使用しているときに「致命的なエラー!スクリプトの実行に失敗しました」

Recipe Multiprocessing

論理的には、私のPythonスクリプトは、複数のプロセスにまたがっていません。私が持っている問題は、複数のプロセスが関わっているときは、すべてうまくいくようです。 しかし、マルチプロセスがインボリュートされていない場合、以下の「致命的:スクリプトを実行できませんでした」ダイアログボックスが数秒間点滅してから消えて、予期した結果が返されます。

enter image description here

致命的なエラーダイアログが表示されたり消えたりすることが原因となって、私はそれをしないのです何がありますか?私は、新しいプロセスが作成されていないときにif __name__ == __main__ :の直後にmultiprocessing.freeze()のステートメントが問題を引き起こしていると思われます。

+0

アップデート:pyinstallerでコンソールを有効にすると、このエラーは表示されず、すべて正常であるようです。しかし、私はちょうどサーバが目的ではないコンソールを取り除きたがっていました – Ram

答えて

0

このエラーは、ディレクトリからデータを要求し、そのディレクトリがexeファイルに組み込まれていないスクリプトに関連することがよくあります。

スクリプトにどこかの種類のデータがある場合は、ソースフォルダ内のデータファイルもフリーズアプリケーションに含まれていることを確認してください。

http://pyinstaller.readthedocs.io/en/latest/spec-files.html#adding-files-to-the-bundle

0

は、管理者として実行してみてください参照、凍結されたアプリにデータファイルを追加します。私は "Program Files"でいくつかのファイルを作成したかったので同じ問題がありました。

関連する問題