私はすでに1年前にこの正確な質問をしました。私のアプリケーションはPythonのマルチプロセッシングモジュールを使用しています。これはコマンドラインから実行すると正常に動作しますが、Pyinstallerを使用して実行可能ファイルとしてパッケージ化すると、複数のプロセスが、実行するはずの関数を実行するのではなく、元のインスタンスの新しいインスタンスとして生成されます。前回だけでなく、他のどこでも私に与えられたアドバイスは、私がこれまでずっとやってきたmultiprocessing.freeze_support(
私のブロックの始めに)を呼び出すif __name__ == "__main__":
ことですが、私は何らかの理由で突然この問題に再び遭遇しています。他に何がこれを引き起こしている可能性がありますか?
更新:freeze_support()行の存在がこの問題にまったく影響しないことを確認しました。コメントしたりコメントを外したりすると、まったく同じ動作になります。メインウィンドウのコピーが開かれ、何もせずにそこに座っています。これが私のメインPythonモジュールの最後に呼び出されるブロックです。
if __name__ == '__main__':
freeze_support()
# (A bunch of commented-out lines)
main()