我想用Pyinstall编译python3程序(包括Pool),它有一些错误。 我的程序名称是'ls.py',当我用Pyintall编译程序时,它生成一个名为'ls.exe'的程序。我运行它,打印什么。 我的代码是在这里:用Pyinstall错误编译python3程序(包括Pool)
from multiprocessing import Pool
def f(x):
print(x*x)
if __name__ == '__main__':
p = Pool(2)
p.map(f,[1,2,3,4])
当我更改代码:
#from multiprocessing import Pool
def f(x):
print(x*x)
if __name__ == '__main__':
for i in range(1,5):
f(i)
而且编译Pyinstall程序,它运行OK! 所以,我认为这个问题是由
'from multiprocessing import Pool'
引起那么,请帮我解决这个问题,谢谢
的Python 3.4的版本,Pyinstall是PyInstaller-3.2.1-py3.4 .egg
我测试2 melthold,它在Python 2或3中都运行正常!问题是:用Pyinstall编译它;一种方式可以运行,另一种方式使用池,这是错误的 –
是的,OP在池作业中有打印语句。如果它更改为返回,则代码运行良好。 –
也,我添加freeze_support(),exe程序什么都不返回,帮助 –