gpt4 book ai didi

import - builtins.ImportError : cannot import name 'Empty'

转载 作者:行者123 更新时间:2023-12-05 00:52:26 24 4
gpt4 key购买 nike

在使用 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'

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

if __name__ == "__main__":
queue = multiprocessing.Queue()

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

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

最佳答案

我在我的代码中遇到了几乎相同的错误,最后找出了哪里出错了。希望它能以某种方式帮助你。

我将我的 python 脚本命名为“queue.py”,然后我运行它,我得到了错误信息。下面就像你的一样:

Traceback (most recent call last):
File "F:/02_Coding/01_Projects/PyHomeWork/Day23_Process/queue.py", line 19, in <module>
queue = multiprocessing.Queue()
File "E:\02_CodingSoftware\02_Installed\Anaconda3\lib\multiprocessing\context.py", line 101, in Queue
from .queues import Queue
File "E:\02_CodingSoftware\02_Installed\Anaconda3\lib\multiprocessing\queues.py", line 20, in <module>
from queue import Empty, Full
ImportError: cannot import name 'Empty'

我使用下面的方法来创建一个队列:
if __name__ =="__main__":
queue = multiprocessing.Queue()

最后,我注意到我不应该将文件命名为“queue.py”,这似乎会在解释脚本时对python造成误导。在我重命名脚本后,错误就消失了。多么愚蠢的错误,大声笑。

所以我的建议是也许你可以检查你的文件夹下是否有一个名为“queue.py”的脚本,或者任何自定义模块都会与库中的脚本冲突。

希望你能解决问题。最好的

关于import - builtins.ImportError : cannot import name 'Empty' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42724878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com