Python Facebook SDK: el objeto ‘módulo’ no tiene atributo ‘GraphAPI’

Estoy intentando ejecutar un ejemplo básico con el SDK de Facebook para Python. Intenté hacer exactamente lo que hace este tutorial desde la línea de comandos (con ” pip install facebook ” y ” pip install facebook-sdk ” se hizo con éxito primero …):

introduzca la descripción de la imagen aquí

import Facebook funciona bien, pero graph = facebook.GraphAPI() da el siguiente error:

 Traceback (most recent call last): File "", line 1, in  AttributeError: 'module' object has no attribute 'GraphAPI' 

No estoy muy familiarizado con cómo funcionan los módulos, ¡pero parece que facebook no está reconocido en absoluto! O algo más falta aquí. Desde la línea de comandos, intenté estas cosas para investigar:

 >>>dir(facebook) 

Salida:

 ['__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__version__'] 

y…

 >>>help(facebook) 

Salida:

 Help on package facebook: NAME facebook - TODO: Document your package. FILE /Library/Python/2.7/site-packages/Facebook-0.0-py2.7.egg/facebook/__init__.py PACKAGE CONTENTS DATA __loader__ = <zipimporter object "/Library/Python/2.7/site-packages/Fa... __version__ = 'TODO: Enter a version' VERSION TODO: Enter a version (END) 

… pero sigo atascado ¿Necesito “ingresar una versión” para obtener de alguna manera la cosa para crear una instancia completa? O podría ser algo más?

Si está utilizando Ubuntu o Debian, simplemente ejecute los siguientes comandos para que esto funcione

 sudo pip uninstall facebook sudo pip uninstall facebook-sdk sudo pip install facebook-sdk 

Para otros sistemas operativos, simplemente elimine los paquetes de facebook y facebook-sdk e instale solo facebook-sdk .

Y luego ejecuta ese progtwig, funcionará. Parece que el módulo de facebook es un módulo ficticio. Lo que realmente necesitamos es facebook-sdk solamente.

Tuve el mismo problema al jugar con facebook-sdk para python la primera vez. Ocurrió que nombré mi archivo de python “facebook.py”, e hice inconscientemente un conflicto de nombres.

Intenté lo que @thefourtheye sugirió, pero pip no estaba desinstalando todo. En su lugar, acabo de limpiar los paquetes de Facebook a través de

 rm -rf /path/to/my/venv/lib/python2.7/site-packages/facebook* && rm -rf /path/to/my/venv/lib/python2.7/site-packages/Facebook* 

ADVERTENCIA: verifique que no tenga ningún otro paquete que comience con facebook antes de eliminar cualquier cosa. En mi caso tuve

 facebook/ Facebook-0.0-py2.7.egg-info/ facebook.py facebook.pyc facebook_sdk-0.4.0-py2.7.egg-info/ 

Tengo el mismo problema. Cambié el nombre del archivo de facebook.py a first.py (puede elegir su nombre). Por lo tanto, mi conclusión es que no guarde el archivo con un nombre de módulo.