2016-08-19 53 views
1

我是Python中的新手,我试图学习如何并行运行多个函数。使用Python文档,我开始遵循一些简单的例子,但即使是最简单的例子也会导致错误。这件作品的代码我试图用的就是这个:Python中的多处理错误

from multiprocessing import Pool 

def f(x): 
    return x*x 

if __name__ == '__main__': 
    p = Pool(5) 
    print(p.map(f, [1, 2, 3]))` 

不过,我得到这个错误(代码被称为聊天):

Traceback (most recent call last): 
File "<string>", line 1, in <module> 
File "c:\python27\lib\multiprocessing\forking.py", line 380, in main 
prepare(preparation_data) 
File "c:\python27\lib\multiprocessing\forking.py", line 503, in prepare 
file, path_name, etc = imp.find_module(main_name, dirs) 
ImportError: No module named chat 

正如我所说,我是新在此,所以如果有人能够帮助我解决这个问题,我会非常感激!我得到类似的错误,而不是'池',我尝试'流程'。

+2

作品在我的机器(一旦我正确缩进'F'的身体上,并从删除的刻度最后一行)。 – Kevin

+1

这需要[mcve]。 –

+0

它也适用于我。 –

回答

1

我知道这是一个相当迟的答复,但只是为了解未来遇到类似问题的其他人的未来知识。请确保你使用的多,当调用程序名称时,如果你的文件名为“我的文件”,并在运行使用正确的情况下:

c:\python27\python.exe "c:\projects\my file.py" 

在大多数情况下,它会被罚款,但使用时它不喜欢它的多处理模块。这样跑:

c:\python27\python.exe "c:\projects\My File.py" 

这个问题我在一个时间点半天浪费......