我知道這已被回答之前,但似乎直接執行腳本「python filename.py」不起作用。我在SuSE Linux上安裝了Python 2.6.2。又一個多處理錯誤的混淆,'模塊'對象沒有屬性'f'
代碼:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from multiprocessing import Pool
p = Pool(1)
def f(x):
return x*x
p.map(f, [1, 2, 3])
命令行:
> python example.py
Process PoolWorker-1:
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/process.py", line 231, in _bootstrap
self.run()
File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python2.6/multiprocessing/pool.py", line 57, in worker
task = get()
File "/usr/lib/python2.6/multiprocessing/queues.py", line 339, in get
return recv()
AttributeError: 'module' object has no attribute 'f'
[使用Python在終端和在代碼moudles適用於Django或燒瓶多處理池]的可能重複(http://stackoverflow.com/questions/18947876/using-python-multiprocessing-pool解釋-in-the-terminal-and-in-code-moudles-for-django) – 2014-08-10 13:00:48
@jb。那篇文章比這篇文章晚得多,這是2010年,那篇文章是2013年 – gatoatigrado 2014-08-18 23:26:15
年齡不相關,meta有共識,應該選擇有更好答案的問題,另外一個有IMO更好的答案。 – 2014-08-19 07:52:44