Подтвердить что ты не робот

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

from flask.ext.login import LoginManager

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

from flask_login import LoginManager

Это новое соглашение.

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

pip show flask-login

Ответ 2

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

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

Ответ 3

Если вы уже установили флажок для входа

$pip install flask_login

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

from flask.ext.login import LoginManager

с

from flask_login import LoginManager

Ответ 4

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

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

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

Ответ 5

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

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 default pressing f5, он не работает.

Ответ 6

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

mycomp # pip install -U flask_login

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

Ответ 7

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

Ответ 8

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

Это должно работать гладко.

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