api = twitter.Api() AttributeError: 'module' object has no attribute 'Api

i found solution to this problem in following site

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

There are two Python libraries conflicting: twitter library and python-twitter library. The solution was quite straightforward:

pip uninstall twitter

Then I just made it sure that python-twitter was certainly installed:

pip install python-twitter

Thank you himanen it worked for me


I got the same error because my python file was called twitter.py. It contained:

import twitter
api = twitter.Api (consumer_key=...

I renamed the file to twitterdata.py, removed twitter.pyc and then it worked.


I think you've installed one twitter package, and look at another documentation. Ie: python-1.7.2 is the project from https://github.com/sixohsix/twitter, while you're looking at the http://code.google.com/p/python-twitter/ documentation. No match between both :)

So for the one you've installed, if you check the source code, a stream example is available, and other various examples in the 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()