Python Facebook SDK: объект 'module' не имеет атрибута 'GraphAPI'
Я пытаюсь запустить базовый пример с помощью SDK для Python. Я попытался сделать именно то, что этот учебник из командной строки (с "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'
Я не знаком с тем, как работают модули, но похоже, что 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)
... Но я все еще застрял. Нужно ли мне "вводить версию", чтобы каким-то образом получить все, чтобы полностью создать экземпляр? Или это может быть что-то еще?
Ответы
Ответ 1
Если вы используете Ubuntu или Debian, просто выполните следующие команды, чтобы получить эту работу
sudo pip uninstall facebook
sudo pip uninstall facebook-sdk
sudo pip install facebook-sdk
Для других операционных систем просто удалите пакеты facebook
и facebook-sdk
и установите только facebook-sdk
.
И затем выполните эту программу, она будет работать. Похоже, что модуль facebook
- это фиктивный модуль. Нам действительно нужно только facebook-sdk
.
Ответ 2
У меня была такая же проблема, когда я впервые сталкивался с facebook-sdk для python. Это произошло, я назвал свой файл python "facebook.py" и сделал бессовестное столкновение имен.
Ответ 3
Я пробовал, что предлагал @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/
Ответ 4
Попробуйте
sudo pip uninstall facebook
sudo pip uninstall facebook-sdk
sudo pip install git+https://github.com/pythonforfacebook/facebook-sdk.git