Ошибка Python из xxx.yyy import xxx "

Я работаю с пакетом PyFacebook в Python, и я видел, как люди неоднократно упоминали, что вы можете написать оператор импорта следующим образом:

from facebook.djangofb import facebook

Однако это не сработает. В нем указано, что facebook.method_name существует в модуле facebook, а не в модуле djangofb. Я предполагаю, что я импортирую facebook.method_name как facebook, а не то, что я получаю его из самого пакета facebook.

Я использую Python 2.6.

Как я могу сделать псевдоним facebook.djangofb как facebook?

Ответы

Ответ 1

Это правильный способ псевдонимов модуля с помощью импорта:

import facebook.djangofb as facebook

Ответ 2

Из документации python 3 (он работает так же в python 2.6, но я нашел Документация python 3 объяснила это яснее):

Если за именем модуля следует as, то имя, следующее за as, привязывается непосредственно к импортированному модулю.

Итак, ваше утверждение должно выглядеть так:

import facebook.djangofb as facebook

а затем facebook.method_name будет работать.

Также см. Можете ли вы определить псевдонимы для импортированных модулей в Python? для дополнительных параметров псевдонимов

Ответ 3

from facebook import djangofb as facebook

Если вы хотите импортировать djangofb в качестве facebook, как вам это нужно.

Таким образом, вы можете получить доступ к facebook.djangofb.method_name как facebook.method_name.

Говоря это, более распространено давать ему неконфликтное имя, здесь это будет fb или face. Что-то, что не отменяет импорт корня facebook.