工作时的例子在一本书上的Python并行编程,我遇到了以下代码错误使用了多队列:builtins.ImportError:不能导入名“空”
File "C:\pyDev\multiproc\queue-test.py", line 4, in <module>
queue = multiprocessing.Queue()
File "C:\Anaconda3\Lib\multiprocessing\context.py", line 100, in Queue
from .queues import Queue
File "C:\Anaconda3\Lib\multiprocessing\queues.py", line 20, in <module>
from queue import Empty, Full
builtins.ImportError: cannot import name 'Empty'
一些试验后,我确定,生成此错误所需的全部内容是以下代码(这是上述错误消息中提到的所有queue-test.py文件)。
import multiprocessing
if __name__ == "__main__":
queue = multiprocessing.Queue()
我一台机器上运行的Python 3.5.1与4.1.0蟒蛇与Windows 7我已经与蟒蛇2.5移植从书上面的代码和示例到另一台机器使用Python 2.7.11 .0,在Windows 10中,它在该机器上工作正常。
考虑到可能在我的Python安装中存在损坏的文件或其他问题,我尝试重新安装Anaconda,但它没有帮助。我进行了Google搜索,没有发现这个特定的错误。其他的stackoverflow贴子,如在这里找到的:ImportError: Cannot import name X似乎并不相关,因为这涉及Python标准库的一部分,而不是我自己编写的代码和类。
我来自Review,只想说_thank you_是我见过的第一个新用户问题,它的结构良好,经过深入研究,并且具有MCVE([mcve])。 +1 – KernelPanic