我有一个问题。
我在Windows7(64位)上使用python(2.7.7,32bit)和py2exe(0.6.9)。
我的应用程序结构如下:
from multiprocessing import Process
def child():
print "child"
def main():
print "main"
p = Process(target=child)
p.start()
p.join()
if __name__ == "__main__":
main()
(1)打包前的结果:
main
child
(2)打包后的结果:
main
main
main
...(forever)
我想在包装后得到(1)。
请告诉我如何在包装后得到(1)。
爱。
答案 0 :(得分:1)
正如评论中所提到的,在将Python脚本打包到可执行文件中以便在Windows上使用时,需要调用multiprocessing.freeze_support()
。在实际调用if __name__ == '__main__':
之前,此调用应该在main()
之后。