ImportError: Нет модуля с именем flask.ext.login

У меня проблема с модулем flask_login.

я успешно установил модуль flask_login. Также из командной строки я могу легко запустить этот скрипт без ошибок:

Python 2.7 (r27:82525, Jul  4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask.ext.login import LoginManager

Но когда я запускаю этот скрипт:

from flask import Flask
from flask.ext.login import LoginManager
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World! Welcome"

if __name__ == "__main__":
    app.run()

я получаю сообщение об ошибке:

ImportError: No module named flask.ext.login

Какую ошибку я делаю. Я очень новичок в этой фляге. Заранее спасибо.


person curiousguy    schedule 11.02.2014    source источник
comment
Как у вас работает скрипт? Как был установлен flask_login?   -  person Martijn Pieters    schedule 11.02.2014
comment
Случайные догадки: неправильный интерпретатор Python? Виртуалэнв?   -  person dav1d    schedule 11.02.2014
comment
Я не использую Virtualenv, я установил flask отдельно со всеми модулями зависимостей. На самом деле я просто проверяю, в порядке ли установка или нет. Я пробовал через virtualenv, но получаю ошибку. Поэтому попытался установить все отдельно. Часть кода работает нормально, пока я не добавил from flask.ext.login import LoginManager.   -  person curiousguy    schedule 11.02.2014
comment
Я установил flask_login с https://pypi.python.org/ сайта   -  person curiousguy    schedule 11.02.2014
comment
Вы правы, @Martijn Pieters спрашивает How are you running the script?   -  person curiousguy    schedule 11.02.2014
comment
Ваш вопрос был задан и дан ответ здесь: stackoverflow.com/questions/13065682/   -  person MatrixMummy    schedule 20.03.2017


Ответы (8)


Если следующее не работает:

from flask.ext.login import LoginManager

попробуйте следующее:

from flask_login import LoginManager

Это новая конвенция.

Чтобы найти версию flask-login, вы можете запустить следующую команду в терминале. Просто измените имя, чтобы узнать версию других пакетов.

pip show flask-login
person prem kumar    schedule 19.06.2016
comment
У меня была эта проблема с сеансом Flask. Прямо из документов - from flask.ext.session import Session. Это решение решило и эту проблему. from flask_session import Session - person Mote Zart; 29.12.2019
comment
У меня было то же самое с from flask.ext.scss import Scss, вместо этого я использовал from flask_scss import Scss, и это решило проблему. Я использую Pythonista на iPad. - person eallenOP; 16.01.2020

Установите pip, а затем используйте следующую команду:

C:\Python27\scripts>pip install Flask-Login

person Najeebullah Shah    schedule 17.01.2015

Если вы уже установили flask-login через

$pip install flask_login

Попробуйте заменить

from flask.ext.login import LoginManager

с

from flask_login import LoginManager
person J11    schedule 26.07.2018

Это ошибка среды — в любой IDE, которую вы используете, PYTHONPATH не установлен должным образом. Вы можете проверить это, создав небольшой тестовый файл: test.py со следующим содержимым:

from os import environ
print environ.get('PYTHONPATH')

Если PYTHONPATH не содержит каталог, в котором находится ваш пакет Flask-Login, проблема в этом.

person rdegges    schedule 19.03.2014
comment
где мы должны создать этот скрипт? - person sisimh; 17.12.2015
comment
PYTHONPATH пуст в virtualenv, так что это маловероятно. - person djsadinoff; 01.01.2016

См. Для меня простое решение - просто удалить .ext из flask.ext.login и вместо этого просто ввести flask_login. Это работает для Python 3 и убедитесь, что вы правильно установили нужный пакет.

person Kratik    schedule 04.12.2018

Странно, но это сработало, когда я попытался запустить скрипт из командной строки.

C:\Users\dib\Desktop>python foo.py
 * Running on http://127.0.0.1:5000/
127.0.0.1 - - [11/Feb/2014 18:03:52] "GET / HTTP/1.1" 200 -

Но когда я пытаюсь запустить из IDE по умолчанию для Python pressing f5, это не работает.

person curiousguy    schedule 11.02.2014

Первоначально я установил flask_login в виртуальной среде. Выяснил, что его пытаются найти на автомате. Поэтому я установил его глобально как;

mycomp# pip install -U flask_login

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

person 7guyo    schedule 11.11.2018

Решение простое. Различные версии фляги работают с разными кодами, поэтому просто измените код: flask.ext.login на код: flask_login

Он должен работать плавно.

Обратите внимание, что это также относится к начальной загрузке. На самом деле, чтобы найти решение, у меня возникла ошибка при импорте бутстрапа.

person Sparrowan    schedule 22.12.2018