【发布时间】:2012-10-29 22:49:47
【问题描述】:
我遇到了一个非常奇怪的问题。我正在尝试在集合模块中使用计数器功能。但是,我不断收到相同的错误消息
AttributeError: 'module' object has no attribute 'Counter'
我之前尝试过使用它并且效果很好,但是现在由于某种原因,当我导入“集合”模块时,它的属性数量非常有限。
我试过了:
import collections # when calling Counter I would then use collections.Counter()
import collections as collect # collect.Counter()
对于这两个我不断收到属性错误。
我也试过了
from collections import Counter
在这种情况下,我得到了:
ImportError: cannot import name Counter
这些都在 ipython 界面和脚本中进行了测试(不导入其他任何东西,只导入集合)。
有什么想法吗?
【问题讨论】:
-
一般来说,在处理这种意外行为时,确保模块是您认为的模块通常是一个好主意。所以尝试 import collections;print(collections) 并确保它是标准库版本。当 python 路径被搞砸或库被添加到与标准库同名的 python 路径时,我已经看到了这种问题。
-
确保您的文件名不应为“collections.py”,否则您将面临后果。
标签: collections counter python-import importerror python-2.6