【发布时间】:2015-01-19 19:51:57
【问题描述】:
我正在使用multiprocessing.Pool 做一些多处理python 脚本。这些脚本如下所示:
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(processes=4) as pool: # start 4 worker processes
print(pool.map(f, range(10))) # prints "[0, 1, 4,..., 81]"
当使用 Python 3.4 运行它时,一切都很好。但是,在使用 Python 2.6 或 3.1 时出现此错误:
AttributeError: 'Pool' object has no attribute '__exit__'
使用Python 2.7或3.2,报错基本相同:
AttributeError: __exit__
为什么会发生这种情况,我该如何规避?
【问题讨论】:
标签: python python-2.7 python-multiprocessing python-3.2 python-3.1