是我一个人的问题还是 Windows 上新的 Python future 模块出了严重问题
我使用的是 Windows XP,并且在使用新的 Python 3.2 futures 模块时遇到问题。 看来我无法让 ProcessPoolExecutor 工作。 会话示例:
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> from concurrent import futures
>>> executor = futures.ProcessPoolExecutor()
>>> def pio(x):
... print("I AM HERE")
... return True
...
>>> fut = executor.submit(pio, 5)
>>> Process Process-1:
Traceback (most recent call last):
File "C:\Python32\lib\multiprocessing\process.py", line 259, in _bootstrap
self.run()
File "C:\Python32\lib\multiprocessing\process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "C:\Python32\lib\concurrent\futures\process.py", line 133, in _process_worker
call_item = call_queue.get(block=True, timeout=0.1)
File "C:\Python32\lib\multiprocessing\queues.py", line 131, in get
res = self._recv()
AttributeError: 'module' object has no attribute 'pio'
>>> fut.running()
True
我觉得这里有些问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须注意
concurrent.future
< /a> 模块使用multiprocessing
模块(特别是当您使用了 ProcessPoolExecutor),因此某些功能在交互式解释器中无法使用,请阅读有关此内容的更多信息 此处。You have to be aware that the
concurrent.future
module uses themultiprocessing
module (especially when you used theProcessPoolExecutor
), so some functionality will not work in the interactive interpreter, read more about this here.