2016-08-19 52 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" 

這個問題我在一個時間點半天浪費......