我一直在尝试编写一个简单的提及抓取器来开始使用twitter Api。无论我在初始化Api时遇到了一些困难。 在archlinux上运行python2我通过easy_install安装了twitter,从源代码构建并通过pip安装。这似乎都不起作用。
zergling :: ~/dev/kritter » python2
Python 2.7.2 (default, Jan 31 2012, 13:26:35)
[GCC 4.6.2 20120120 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import twitter
>>> api = twitter.Api()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Api'
无论如何推特的pydoc都在那里。我不知道我做错了什么。我希望你能帮忙
更新
我尝试使用twitter.api()
而不是twitter.Api()
,并收到以下错误:
Traceback(最近一次调用最后一次):
文件“main.py”,第8行,in
api = twitter.api()
TypeError:'module'对象不可调用
其他信息:
>>> print dir(twitter)
['NoAuth', 'OAuth', 'Twitter', 'TwitterError', 'TwitterHTTPError', 'TwitterResponse', 'TwitterStream', 'UserPassAuth', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'api', 'auth', 'oauth', 'read_token_file', 'stream', 'twitter_globals', 'write_token_file']
>>> print twitter.__path__
['/usr/lib/python2.7/site-packages/twitter-1.7.2-py2.7.egg/twitter']
答案 0 :(得分:19)
我认为您已安装了一个Twitter软件包,并查看其他文档。即:python-1.7.2是来自https://github.com/sixohsix/twitter的项目,而您正在查看http://code.google.com/p/python-twitter/文档。两者之间不匹配:)
因此,对于您已安装的那个,如果您检查源代码,可以使用stream example,以及pydoc中的其他各种示例:
from twitter import Twitter
# ...
twitter = Twitter(
auth=OAuth(token, token_key, con_secret, con_secret_key)))
# Get the public timeline
twitter.statuses.public_timeline()
答案 1 :(得分:11)
我在以下网站找到了解决此问题的方法
[http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/][1]
有两个Python库存在冲突:twitter库和python-twitter库。解决方案非常简单:
pip uninstall twitter
然后我确定安装了python-twitter:
pip install python-twitter
谢谢你himanen它对我有用
答案 2 :(得分:8)
我得到了同样的错误,因为我的python文件名为twitter.py。它包含:
import twitter
api = twitter.Api (consumer_key=...
我将文件重命名为twitterdata.py,删除了twitter.pyc,然后就可以了。
答案 3 :(得分:1)
答案 4 :(得分:1)
如果您使用的是python-twitter包装器。在安装过程中,它必须创建一个名为twitter.py.egg的eggfile,并通过其他名称重命名,例如help.py.egg,它将适合您。
答案 5 :(得分:0)
我在以下站点中找到了解决此问题的方法
[http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/][1]
有两个冲突的Python库:twitter库和python-twitter库。解决方案非常简单:
pip卸载Twitter 然后我确定要安装python-twitter:
pip安装python-twitter 谢谢himanen ..它确实有效
答案 6 :(得分:0)
使用模块 python-twitter 代替 twitter
$ pip install python-twitter
参考文献:https://python-twitter.readthedocs.io/en/latest/installation.html
对于模块文档:https://python-twitter.readthedocs.io/en/latest/twitter.html#modules-documentation