【发布时间】:2017-01-31 00:17:55
【问题描述】:
我正在尝试一些涉及 Python 中的多处理功能的简单程序。
代码如下:
from multiprocessing import Process, Queue
def print_square(i):
print i*i
if __name__ == '__main__':
output = Queue()
processes = [Process(target=print_square,args=(i,)) for i in range(5)]
for p in processes:
p.start()
for p in processes:
p.join()
但是,这会给出错误消息AttributeError: 'module' object has no attribute 'heappush'. 执行脚本时的完整输出如下:
如果注释了 output=Queue() 语句,则代码编译良好。 什么可能导致此错误?
【问题讨论】:
-
这对我来说很好用。您的环境似乎有问题。如果你没有得到更好的答案,也许你应该考虑重新安装你的 python 发行版。
-
你有没有
heapq.py隐藏 Python 的地方? -
我尝试在我的大学机器上运行它,效果很好。正如你所说,似乎是一个环境问题。但是我在两个系统中都安装了 python,并且想不出两者之间的任何区别,这可能是导致问题的原因。关于我应该从哪里开始看的任何指示?
-
不,其他地方没有 heapq.py。
标签: python python-2.7