【发布时间】:2014-07-02 00:01:34
【问题描述】:
我正在尝试将 multiprocessing 包用于 python。但是,当我尝试在 IDLE 中定义一个池时,它会静默崩溃(没有错误消息或回溯,IDLE 只是关闭)。另一方面,同样的脚本在从终端执行时运行没有问题。是什么赋予了?我在 Ubuntu 12.04 上使用 python 2.7。
import multiprocessing
from multiprocessing import Pool
def myfunc(x):
return x*x
cpu_count = int(multiprocessing.cpu_count() - 1)
pool = Pool(processes = cpu_count) #Crashes here in IDLE
resultlist = pool.map(myfunc, range(10))
pool.close()
print(resultlist)
【问题讨论】:
-
stackoverflow.com/a/2806280/110707 可能会有所帮助。
-
所以不是我,是
multiprocessing和IDLE?我想我以前从未注意到这一点,因为我倾向于在我想看到的子进程中有打印语句,并且我知道 IDLE 不会使用其全局锁定打印,所以我想我总是从终端运行带有多处理的脚本.但真的吗??? IDLE 不能处理多进程???太傻了。 -
idle 不是一个好主意...你应该切换到别的东西真的...
-
@JoranBeasley 建议?
-
我喜欢 pycharm ...但几乎任何东西都比空闲的 imho (ninja、Eclipse+pydev 等) 好
标签: python multiprocessing python-idle