小编Pat*_*k R的帖子

builtins.ImportError:无法导入名称“空”

在处理 Python 并行编程一书中的示例时,我在使用多处理队列的代码中遇到了以下错误:

    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'
Run Code Online (Sandbox Code Playgroud)

经过一些实验,我确定生成此错误所需的只是以下代码(这是上面错误消息中提到的整个 queue-test.py 文件)。

import multiprocessing

if __name__ == "__main__":
    queue = multiprocessing.Queue()
Run Code Online (Sandbox Code Playgroud)

我在一台装有 Anaconda 4.1.0 的机器上运行 Python 3.5.1 和 Windows 7。我已经将上面的代码和书中的示例移植到另一台装有 Python 2.7.11 和 Anaconda 2.5.0、Windows 10 和它在那台机器上工作正常。

考虑到我的 Python 安装可能存在损坏的文件或其他问题,我尝试重新安装 Anaconda,但没有帮助。我执行了谷歌搜索,并没有发现这个特定的错误。其他 stackoverflow 帖子,例如在此处找到的帖子:ImportError: Cannot import name X似乎无关紧要,因为这涉及 Python 标准库的一部分,而不是我自己编写的代码和类。

import multiprocessing

7
推荐指数
1
解决办法
2170
查看次数

标签 统计

import ×1

multiprocessing ×1