我正在尝试在Windows上使用多进程,但我遇到了无限循环错误。现在我知道可以通过在标准python脚本中使用名称 ==“ main ”来解决这个问题。我的问题是我正在打包脚本,所以 name 等于“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”,因为它是包名称
答案 0 :(得分:0)
我设法通过修补在运行我的包的python目录中创建的脚本来解决这个问题。
<强> C:\ Python27 \脚本\ testmultiprocess-script.py 强>
从:
sys.exit(
load_entry_point(.....)
)
为:
if __name__ == '__main__':
sys.exit(
load_