Python 错误:AttributeError:“模块”对象没有属性“heappush”
Posted
技术标签:
【中文标题】Python 错误:AttributeError:“模块”对象没有属性“heappush”【英文标题】:Python error : AttributeError: 'module' object has no attribute 'heappush' 【发布时间】: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。
【参考方案1】:
你的文件名应该是包名。更改为另一个文件名,例如heap
,它将起作用。
【讨论】:
以上是关于Python 错误:AttributeError:“模块”对象没有属性“heappush”的主要内容,如果未能解决你的问题,请参考以下文章
Python 多处理库错误(AttributeError:__exit__)
如何修复python2.7中的“AttributeError:'module'对象没有属性'storage'”错误
Python多处理错误:AttributeError:模块'__main__'没有属性'__spec__'
AttributeError:“WebElement”对象没有属性“单击”错误尝试使用 Selenium Python 单击链接
python脚本AttributeError: module 'xxxx' has no attribute 'xxxxx'错误解决办法
python提示错误“AttributeError: 'module' object has no attribute 'Tk'”是啥原因?