Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

flask

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

like image 851
Tampa Avatar asked Aug 01 '12 02:08

Tampa


People also ask

How do I know if a flask is installed?

Check flask Version Windows To check which version of flask is installed, use pip show flask or pip3 show flask in your Windows CMD, command line, or PowerShell.

How do I update my flask?

Initially, it takes just one Golden Seed to upgrade your Flasks, though, at higher levels, you'll need to use several for each upgrade. You can only use Golden Seeds at a Site of Grace. Rest there, choose the Flasks option, and increase the number of charges.


3 Answers

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
like image 125
Phil Boltt Avatar answered Oct 22 '22 02:10

Phil Boltt


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

like image 7
prem kumar Avatar answered Oct 22 '22 00:10

prem kumar


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
like image 2
tanius Avatar answered Oct 22 '22 01:10

tanius