2013-12-13 46 views
0

如何在Pydev控制台上使用多处理(即,通过按CTRL + ALT + ENTER运行它)。Python,多处理,Pydev控制台

我的剧本是

import numpy as np 
import time 
from multiprocessing import Pool 

def f(q): 
    return q*q  

if __name__=='__main__': 
    with Pool(processes=4) as pool: 
     print(pool.map(f, np.arange(10))) 

如果按F9正常运行它将运行。

但是,如果我在控制台模式下运行它,我得到这个错误

AttributeError: 'module' object has no attribute 'f' 

我如何得到这个在控制台模式下工作,或者我需要使用不同的并行处理工具?

回答

1

这记从多文档似乎相关:这个包内

功能要求__main__模块是由孩子们可导入。编程指南中介绍了这一点,但值得在此指出。这意味着一些示例,如multiprocessing.Pool示例在交互式解释器中不起作用。