api = twitter.Api()AttributeError:'module'对象没有属性'Api

Mom*_*omo 15 python api twitter archlinux

我一直试图写一个简单的提取抓取器来开始使用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'
Run Code Online (Sandbox Code Playgroud)

无论Twitter的pydoc是什么.我不知道我做错了什么.我希望你能提供帮助

更新: 我尝试使用twitter.api()而不是twitter.Api()得到以下错误:回溯(最近一次调用最后):文件"main.py",第8行,在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']
Run Code Online (Sandbox Code Playgroud)

tit*_*ito 19

我想你已经安装了一个twitter包,看看另一个文档.即:python-1.7.2是来自https://github.com/sixohsix/twitter的项目,而您正在查看http://code.google.com/p/python-twitter/文档.两者之间没有匹配:)

因此,对于您安装的那个,如果您检查源代码,可以使用流示例,以及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()
Run Code Online (Sandbox Code Playgroud)

  • 我已经安装了`pip install twitter`,它应该是`pip install python-twitter` (7认同)

小智 11

我在以下网站找到了解决这个问题的方法

[ http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/][1]

有两个Python库存在冲突:twitter库和python-twitter库.解决方案非常简单:

pip uninstall twitter
Run Code Online (Sandbox Code Playgroud)

然后我确定安装了python-twitter:

pip install python-twitter
Run Code Online (Sandbox Code Playgroud)

谢谢你himanen它对我有用


Pau*_*aul 9

我得到了同样的错误,因为我的python文件名为twitter.py.它包含:

import twitter
api = twitter.Api (consumer_key=...
Run Code Online (Sandbox Code Playgroud)

我将文件重命名为twitterdata.py,删除了twitter.pyc,然后就可以了.