Я запускаю Windows 7 с Python 2.7.«Объект« Module »не имеет атрибута ...» Ошибка многопроцессорности
Я пытаюсь запустить базовый многопроцессорный код с модулем multiprocessing
для проверки удобства использования. Я видел аналогичные ошибки here и here, но приведенный ниже код не имеет этих проблем.
Когда я запускаю приведенный ниже код (или любой код с помощью модуля multiprocessing
) из командной строки Anaconda или в Spyder IDE Python Console, я получаю следующее сообщение об ошибке.
Когда я запускаю код в консоли Spyder IDE iPython, я не получаю сообщение об ошибке, но программа никогда не завершается, и из моего Windows Task Manager
я вижу, что на python не используется какой-либо процессор, хотя Spyder показывает, что он все еще работает (красный квадрат над консолью красный).
import multiprocessing
def funSquare(num):
return num ** 2
if __name__ == '__main__':
pool = multiprocessing.Pool()
results = pool.map(funSquare, range(10))
print(results)
Process PoolWorker-1:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-2:
Process PoolWorker-5:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-4:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-3:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-6:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-8:
Process PoolWorker-7:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-9:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Process PoolWorker-10:
Traceback (most recent call last):
File "C:\Anaconda\lib\multiprocessing\process.py", line 258, in _bootstrap
self.run()
File "C:\Anaconda\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda\lib\multiprocessing\pool.py", line 102, in worker
task = get()
File "C:\Anaconda\lib\multiprocessing\queues.py", line 376, in get
return recv()
AttributeError: 'module' object has no attribute 'funSquare'
Может ли кто-нибудь сказать мне, как разрешить это? Также дайте мне знать, нужны ли дополнительные данные. Благодаря!