Python Facebook SDK:“module”对象没有“GraphAPI”属性

2024-09-26 17:48:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Facebook的Python SDK运行一个基本示例。我在命令行中尝试了这个tutorial所做的事情(首先成功地完成了“pip install facebook”和“pip install facebook-sdk”):

enter image description here

import Facebook工作正常,但graph = facebook.GraphAPI()会出现以下错误:

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

我对模块的工作方式还不太熟悉,但它看起来好像根本不被识别!或者这里少了什么。在命令行中,我试着调查:

>>>dir(facebook)

输出:

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

还有。。。

>>>help(facebook)

输出:

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) 

……但我还是被困住了。我是否需要“输入一个版本”来以某种方式使这个东西完全实例化?或者是别的什么?


Tags: installpip命令行packagefacebookobjectversion方式
3条回答

我尝试了@thefourtheye建议的方法,但pip并没有卸载所有东西。相反,我只是通过

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

警告:在删除任何内容之前,请检查是否没有以facebook开头的任何其他包。就我而言

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

我在第一次使用facebook的python sdk时遇到了同样的问题。我把我的python文件命名为“facebook.py”,无意中造成了名称冲突。

如果您使用的是Ubuntu或Debian,只需执行以下命令

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

对于其他操作系统,只需删除facebookfacebook-sdk包并只安装facebook-sdk

然后执行那个程序,它就会工作。看起来facebook模块是一个伪模块。我们真正需要的只是facebook-sdk

相关问题 更多 >

    热门问题