api = twitter.Api () AttributeError: el objeto ‘módulo’ no tiene atributo ‘Api

He estado tratando de escribir un capturador de mención simple para comenzar con la API de Twitter. Sin embargo, he estado experimentando algunas dificultades al inicializar el Api. Al ejecutar python2 en archlinux, instalé twitter a través de easy_install, lo construí desde la fuente y lo instalé a través de pip. Nada de esto parece estar funcionando.

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 "", line 1, in  AttributeError: 'module' object has no attribute 'Api' 

Sin embargo, el pydoc para twitter está ahí. No tengo ni idea de lo que estoy haciendo mal. Espero que puedas ayudar

ACTUALIZACIÓN: Intenté usar twitter.api() lugar de twitter.Api() y obtuve el siguiente error: Traceback (última llamada más reciente): Archivo “main.py”, línea 8, en api = twitter.api () TypeError : el objeto ‘módulo’ no es llamable

Información adicional:

 >>> 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'] 

Creo que has instalado un paquete de twitter y miras otra documentación. Es decir: python-1.7.2 es el proyecto de https://github.com/sixohsix/twitter , mientras observa la documentación http://code.google.com/p/python-twitter/ . No hay partido entre ambos 🙂

Entonces, para el que has instalado, si verificas el código fuente, hay un ejemplo de flujo disponible y otros ejemplos en el 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() 

Encontré solución a este problema en el siguiente sitio

[ http://himanen.info/solved-attributeerror-module-object-has-no-attribute-api/◆◆1%5D

Hay dos bibliotecas de Python en conflicto: la biblioteca de twitter y la biblioteca de python-twitter. La solución fue bastante sencilla:

 pip uninstall twitter 

Entonces me aseguré de que Python-Twitter ciertamente se instaló:

 pip install python-twitter 

Gracias himanen funciono para mi

Recibí el mismo error porque mi archivo python se llamaba twitter.py. Esto contenía:

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

Cambié el nombre del archivo a twitterdata.py, eliminé twitter.pyc y luego funcionó.

probablemente verifique twython , he hecho todas las implementaciones necesarias de Ouath usando solicitudes .

Si está utilizando el contenedor python-twitter. durante el proceso de instalación, debe haber creado un archivo de huevo con el nombre twitter.py.egg renombrarlo por otro nombre como help.py.egg que funcionará para usted.