烧瓶和Flask-Login的新功能 - ImportError:没有名为login的模块

时间:2012-08-01 02:58:06

标签: python flask

看来安装flask-login有问题。尽管使用以下

成功安装
 pip install flask-login

我的app.py文件:

 from flaskext.login import LoginManager
 lm = LoginManager()

我收到此错误:

ImportError: No module named login

那我该如何解决

5 个答案:

答案 0 :(得分:23)

烧瓶扩展导入方式有转换:

  

相反,我们现在建议命名包flask_foo而不是现在已弃用的flaskext.foo。 Flask 0.8引入了一个重定向导入系统,允许从flask.ext.foo使用导入,它将首先尝试flask_foo,如果失败flaskext.foo

     

Flask扩展程序应敦促用户从 flask.ext.foo 而不是flask_foo或flaskext_foo 导入,以便扩展程序可以转换为新的程序包名称而不会影响用户。 (Source

将此导入方式与Flask 0.8或更高版本一起使用:

from flask.ext.login import LoginManager

答案 1 :(得分:5)

对于flask-login 0.3.2及更高版本,以下是:

from flask_login import LoginManager

要查找flask-login版本,可以在终端中运行以下命令。只需更改名称即可了解其他软件包的版本。

pip show flask-login

注意: - 不确定遵循此约定的flask-login版本

答案 2 :(得分:0)

Flask扩展名的导入方式又有一个过渡。

不再支持Flask 0.8样式from flask.ext.login import …,也不再支持甚至更早的样式from flaskext.login import …

在Flask 1.0或更高版本中使用这种方式:

from flask_login import LoginManager

答案 3 :(得分:0)

用于导入 LoginManager

从flask_login 导入登录管理器

登录 = LoginManager()

Flask 登录教程 https://learnpyjs.blogspot.com/2021/02/how-to-setup-user-login-in-flask.html?m=1

答案 4 :(得分:-3)

sudo pip install Flask-Security