相关疑难解决方法(0)

AttributeError:'Pool'对象没有属性'__exit__'

我正在使用一些多处理python脚本multiprocessing.Pool.这些脚本如下所示:

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]"
Run Code Online (Sandbox Code Playgroud)

使用Python 3.4运行时,一切都很好.但是,当使用Python 2.6或3.1时,我收到此错误:

AttributeError: 'Pool' object has no attribute '__exit__'
Run Code Online (Sandbox Code Playgroud)

使用Python 2.7或3.2,错误基本相同:

AttributeError: __exit__
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况,我该如何规避呢?

python python-3.1 python-2.7 python-3.2 python-multiprocessing

7
推荐指数
1
解决办法
9263
查看次数