2

Windows でマルチプロセスを使用しようとしていますが、無限ループ エラーが発生します。これで、標準の python スクリプトでname == " main "を使用して修正できることがわかりました。私の問題は、名前が「testmultiprocess」(パッケージ名)と同じになるようにスクリプトをパッケージ化していることです

複数のファイルとインストールが必要なため、問題を実証するためにgithubで小さなプロジェクトを作成しました。

ありがとう、ナイル

編集:

test.py:

from multiprocessing import Process, Queue

def testFunction():
    print "testFunction"

def main():
    print __name__
    p = Process(target=testFunction)
    p.start()
    p.join()

出力される名前は、パッケージ名であるため、常に「testmultiprocessing」です。

4

1 に答える 1

0

パッケージを実行するpythonディレクトリに作成されたスクリプトにパッチを適用することで、これを修正することができました。

C:\ Python27 \ Scripts \ testmultiprocess-script.py

から:

sys.exit(
    load_entry_point(.....)
)

に:

if __name__ == '__main__':
 sys.exit(
     load_
于 2012-08-17T18:50:31.447 に答える