El objeto ‘módulo’ de python del módulo de Twitter no tiene atributo Oauth

Estoy tratando de seguir este ejemplo básico aquí .

Código

import twitter # XXX: Go to http://dev.twitter.com/apps/new to create an app and get values # for these credentials, which you'll need to provide in place of these # empty string values that are defined as placeholders. # See https://dev.twitter.com/docs/auth/oauth for more information # on Twitter's OAuth implementation. CONSUMER_KEY = '' CONSUMER_SECRET ='' OAUTH_TOKEN = '' OAUTH_TOKEN_SECRET = '' auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET, CONSUMER_KEY, CONSUMER_SECRET) twitter_api = twitter.Twitter(auth=auth) # Nothing to see by displaying twitter_api except that it's now a # defined variable print twitter_api 

Pero ejecutando el ejemplo arroja el siguiente error.

 vagrant@lucid32:~$ python twitter.py Traceback (most recent call last): File "twitter.py", line 1, in  import twitter File "/home/vagrant/twitter.py", line 14, in  auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET, AttributeError: 'module' object has no attribute 'oauth' 

Cualquier ayuda sería apreciada.

No asigne a sus scripts el mismo nombre que a los módulos que está importando, ya que cuando Python importa, primero se ve en el directorio de scripts, por lo que se importa twitter.py lugar del módulo de twitter .

Y después de cambiar el nombre de su archivo a algo diferente con twitter.py , no olvide eliminar el código comstackdo ( twitter.pyc y tweepy.pyc ).

Usted no menciona qué sistema operativo está utilizando. ¿Es Ubuntu o Debian?

Si es así, apt-get install python-twitter instala el paquete incorrecto para sus necesidades. Instale el paquete correcto de esta manera:

 sudo apt-get purge python-twitter sudo pip install twitter 

Además, debe cambiar el nombre de su progtwig para que no sea idéntico al módulo que está importando.

Tuve un problema similar. Tenía instalado el paquete python-twitter . Seguí recibiendo el mismo error exacto. Al eliminar python-twitter como:

 (!pip uninstall python-twitter) 

en la consola Ipython y la instalación del paquete de twitter ahora funciona bien.

Espero que eso ayude.

Intente tweepy en su lugar, encontré que hace un trabajo mucho mejor de manejar la autenticación de twitter

 import tweepy CONSUMER_KEY = '' CONSUMER_SECRET ='' OAUTH_TOKEN = '' OAUTH_TOKEN_SECRET = '' auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET) api = tweepy.API(auth) 

Solo para evidenciar que la solución provista por Rob, funcionó bien para mí. Aparentemente, el problema es que se instaló con apt-get y no pip, que puede ser la versión correcta de la biblioteca.

 sudo apt-get purge python-twitter sudo pip install twitter 

Si está utilizando oauth2, es posible que deba importar como auth para que Python reconozca la biblioteca. Tuve este mismo problema hace unos días y esa era la solución simple.

En lugar de twitter.oauth.Oauth, usa twitter.Api

 import twitter api = twitter.Api(consumer_key='consumer_key', consumer_secret='consumer_secret', access_token_key='access_token', access_token_secret='access_token_secret') 

Detalles aqui

Tuve el mismo problema y aquí es lo que me ayudó. Primero descubrí todos los paquetes que estaban relacionados con twitter, que en mi caso eran tweepy y twitter . Los desinstalé y re instalé twitter. Hasta ahora tan bueno. Funciono para mi

ayuda (“modulos”)

El principal problema no fue con OAuth sino con la instalación de varios paquetes de Twitter.