Skip to main content
 首页 » 编程设计

包中 Windows 上的 Python 多处理

2025年05月04日8yjmyzz

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

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

谢谢, 尼尔

编辑:

测试.py:

from multiprocessing import Process, Queue 
 
def testFunction(): 
    print "testFunction" 
 
def main(): 
    print __name__ 
    p = Process(target=testFunction) 
    p.start() 
    p.join() 
打印的

name 总是“testmultiprocessing”,因为它是包名称

请您参考如下方法:

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

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

来自:

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

到:

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