对于python的wikipedia模块(通过pip安装)
当我使用ipython并执行以下操作时:
import wikipedia
print wikipedia.summary("Wikipedia")
..它工作正常。但是当我在文件中保存它并从shell运行它时:
python filename.py
它显示 AttributeError:'module'对象没有属性'summary'
为什么会出现这种情况?
PS:我后来在'filename.py'中包含以下内容,列出了该模块的范围:
print dir(wikipedia)
..这给出了:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'wikipedia']
在ipython中,dir(维基百科)按预期提供所有名称:
['API_URL', ..(snip) .. 'PageError', 'RATE_LIMIT', .. (snip) .. '__name__', 'time', 'timedelta']
为什么会这样?
答案 0 :(得分:5)
10比1你命名了自己的脚本wikipedia.py
。
行import wikipedia
然后导入脚本本身,而不是从PyPI安装的包。您可以在dir()
输出中看到这一点,导入的模块在命名空间中具有名称wikipedia
;自我引用。
您可以通过以下方式确认,或查找其他模块屏蔽您的导入内容:
import wikipedia
print wikipedia.__file__
重命名该文件以阻止它屏蔽库。