繁体   English   中英

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

[英]Python Facebook SDK: 'module' object has no attribute 'GraphAPI'

我正在尝试使用 Facebook SDK for Python 运行一个基本示例。 我尝试完全按照本教程从命令行执行的操作(首先使用“ pip install facebook ”和“ pip install facebook-sdk ”成功完成...):

在此处输入图片说明

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

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

我对模块的工作方式并不十分熟悉,但看起来facebook不知何故根本无法识别! 或者这里缺少其他东西。 从命令行,我尝试了这些事情来调查:

>>>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) 

……但我还是卡住了。 我是否需要“输入一个版本”才能以某种方式使事物完全实例化? 或者它可能是别的东西?

我第一次在 python 上使用 facebook-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

我尝试了@thefourtheye 的建议,但 pip 并没有卸载所有内容。 相反,我只是通过以下方式清除了 Facebook 软件包

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.py重命名为first.py (您可以选择一个名称。)所以,我的结论是不要使用模块名称保存文件。

我检查了所有内容,因为我遇到了同样的问题,我按照建议卸载并安装了,我检查了是否有另一个文件,包 facebook,但没有工作,然后我看到我的程序图 = facebook. GraphApi (token) , ....Api.. 一个大写,后面的字母小写,然后我这样输入, 结果 图 = 脸书。 GraphAPI (令牌),API 全部大写,现在在我验证访问令牌并检查其他小错误后,一切正常。

祝你好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM