我编写了一个非常简单的程序来尝试演示多处理队列。但是,它会在创建队列时抛出错误。
import multiprocessing as mp
q = mp.Queue() #error right here
q.put(1)
print(q.get())
我收到此消息。
Traceback (most recent call last):
File "C:\Users\User\Documents\python\mptest.py", line 2, in <module>
q = mp.Queue()
File "C:\Python33\lib\multiprocessing\__init__.py", line 200, in Queue
from multiprocessing.queues import Queue
File "C:\Python33\lib\multiprocessing\queues.py", line 22, in <module>
from multiprocessing.connection import Pipe
File "C:\Python33\lib\multiprocessing\connection.py", line 21, in <module>
import tempfile
File "C:\Python33\lib\tempfile.py", line 35, in <module>
from random import Random as _Random
ImportError: cannot import name Random
我以前从未见过这种情况,谷歌搜索没有结果。只有当它从命令行运行时才会发生。它在IDLE中运行得非常好。我使用的是Python 3.3.2。
答案 0 :(得分:0)
我认为它更多地与安装的python版本有关。我在cmd行以及IDE上尝试过你的代码,但我没有错误。我安装了python 2.7和3.2。但只是为了复制你的问题,我安装了3.3.2。我得到了和你一样的错误,因为我可能也有random.py文件。