包中的Windows上的Python多处理

时间:2012-08-17 09:15:28

标签: python multiprocess

我正在尝试在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”,因为它是包名称

1 个答案:

答案 0 :(得分:0)

我设法通过修补在运行我的包的python目录中创建的脚本来解决这个问题。

<强> C:\ Python27 \脚本\ testmultiprocess-script.py

从:

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

为:

if __name__ == '__main__':
 sys.exit(
     load_