2

我正在尝试在 Windows 上使用多进程,但遇到了无限循环错误。现在我知道这可以通过在标准 python 脚本中使用name == " main " 来解决。我的问题是我正在打包脚本,所以名称等于“testmultiprocess”(包名称)。

我在github上创建了一个小项目来演示我的问题,因为它需要多个文件和一个安装。

谢谢,尼尔

编辑:

测试.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 回答