2014-12-29 4 views
1

Я пытаюсь получить практическое применение с расширением флажка. Я использую virtualenv для фляжки.Проблема при импорте LoginManager из flask.ext.login

Я смог импортировать LoginManager из flask.ext.login в окне интерпретатора python, но не в скрипте. Ниже вызовов импорта в скрипте.

from flask.ext.login import LoginManager 

Я получаю ниже след.

Traceback (most recent call last): 
File "practice/flask_login.py", line 1, in <module> 
from flask.ext.login import LoginManager 
File "/Users/sunil/co_operative/flask/lib/python2.7/site-packages/flask/exthook.py", line 81, in load_module 
reraise(exc_type, exc_value, tb.tb_next) 
File "/Users/sunil/co_operative/practice/flask_login.py", line 1, in <module>  
from flask.ext.login import LoginManager 
ImportError: cannot import name LoginManager 

ответ

1

Вы назвали свой сценарий flask_login.py. Когда вы импортируете из flask.ext.SOMETHING, за кулисами он импортирует от flask_SOMETHING. Вы скрываете реальный flask_login.py. Переименуйте свой скрипт, и вам должно быть хорошо идти.

2

Причина проблемы:

Ваше имя файла вызывает проблему.

Объяснение:

Как упоминалось в официальной колба документа:

http://flask.pocoo.org/docs/0.10/extensiondev/, когда пользователь попытке импортировать расширение опоки с использованием выражения импорта flask.ext.something, колба будет искать модуль flask_something.

Итак, import flask.ext.login ищите модуль flask_login, который противоречит имени вашего файла. И флажок пытается найти определение LoginManager в вашем файле.

Решение

File Rename решит проблему.

Смежные вопросы