作者localhostphp (A动动)
看板Python
标题[问题] 多执行绪的script能否打包成exe??
时间Fri Dec 30 14:44:59 2011
小弟我遇到一个很奇怪地问题
我将一个程式加上多执行绪的功能 (multiprocessing 内的pool )
直接执行.py档案可以正常执行也能跑出正常结果
用pyinstaller将其打包成exe後可以正常执行
但是大概在pool.get的地方就整个跳出回圈(我没设定会跳出回圈)
然後无限的循环
部份程式码如下
for x in xxx:
result = pool.apply_async(...........)
myThread.append(result)
for poolget in myThread:
print "test"
realResult=poolget.get()
if len(realResult)!=0:
Result2.append(realResult)
在exe执行後 test只会出现一次
.py的时候则不会有问题
想请问一下是什麽情况会造成这样的问题???
抓BUG抓了很久只好上来求救了
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.83.177.63
1F:→ localhostphp:已解决 12/31 03:02
2F:→ localhostphp:if __name__ == '__main__': 後面加上 12/31 03:03
3F:→ localhostphp:multiprocessing.freeze_support() 即可 12/31 03:03
4F:→ localhostphp:pyinstaller 本身也有问题 改用cx_Freeze 就OK了 12/31 03:04