New to flask and Flask-Login - ImportError: No module named login

|▌冷眼眸甩不掉的悲伤 提交于 2021-02-18 04:53:59

问题


It appears that installation of flask-login has issues. Despite a successful install using the below

 pip install flask-login

My app.py file:

 from flaskext.login import LoginManager
 lm = LoginManager()

I get this error :

ImportError: No module named login

So how do I resolve


回答1:


There was a transition of the flask extension import way:

Instead we now recommend naming packages flask_foo instead of the now deprecated flaskext.foo. Flask 0.8 introduces a redirect import system that lets uses import from flask.ext.foo and it will try flask_foo first and if that fails flaskext.foo.

Flask extensions should urge users to import from flask.ext.foo instead of flask_foo or flaskext_foo so that extensions can transition to the new package name without affecting users. (Source)

Use this import way with Flask 0.8 or later:

from flask.ext.login import LoginManager



回答2:


For flask-login 0.3.2 and later, following is the way:

from flask_login import LoginManager

to find the flask-login version, you can run the following command in terminal. Just change the name to know the version of other packages.

pip show flask-login

Note:- not sure from which version of flask-login this convention is followed




回答3:


There was yet another transition of the way Flask extensions are imported.

The Flask 0.8 style from flask.ext.login import … is no longer supported, and the even earlier style from flaskext.login import … is also no longer supported.

Use this way with Flask 1.0 or later:

from flask_login import LoginManager



回答4:


sudo pip install Flask-Security


来源:https://stackoverflow.com/questions/11751972/new-to-flask-and-flask-login-importerror-no-module-named-login

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!