我用python2.7运行windows7。在
我试图用multiprocessing
模块运行基本的多处理代码来测试可用性。我见过类似的错误here和here,但下面的代码没有这些问题。在
当我从Anaconda命令提示符或Spyder IDE Python控制台运行以下代码(或使用multiprocessing
模块的任何代码)时,我收到以下错误消息。在
当我在Spyder IDE iPython控制台中运行代码时,我没有收到错误,但程序从未完成,从我的Windows Task Manager
我可以看到python没有使用任何CPU,即使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'
有人能告诉我怎么解决这个问题吗?如果需要更多的细节,请告诉我。谢谢!在
我运行的是python3,IDE是anaconda(windows)中的spyder,所以我也得到了错误。但是经过一整天的搜索,我找到了一些解决方案,它帮助我在我的windows机器上运行同样的代码。这个网站帮助我找到了解决方案:
http://python.6.x6.nabble.com/Multiprocessing-Pool-woes-td5047050.html
因为我使用的是python 3,所以我对程序做了如下更改:
此功能完成后,上面的问题代码也改成这样:
^{pr2}$我得到的输出是:
我想这篇文章可能对一些windows用户有用。在
相关问题 更多 >
编程相关推荐