如何解决导入错误:无法从 Flask 中的“flask_login”导入名称“LoginManager”?

sni*_*ode 5 python flask web flask-login

我正在尝试https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login的教程。

...
from flask_login import LoginManager

def create_app():
    ...
    db.init_app(app)

    login_manager = LoginManager()
    login_manager.login_view = 'auth.login'
    login_manager.init_app(app)

    from .models import User

    @login_manager.user_loader
    def load_user(user_id):
        # since the user_id is just the primary key of our user table, use it in the query for the user
        return User.query.get(int(user_id))   
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样做时,from flask_login import LoginManager 我收到了错误ImportError: cannot import name 'LoginManager' from 'flask_login'

编辑:我已经通过 pip3 在虚拟环境内部和外部安装了flask_login。但是,我无法使用flask_login 中的任何内容。我也尝试过“fromflask_loginimportUserMixin”,并产生了类似的错误。我还通过执行“pip3 list”检查了是否安装了flask_login,并且在此列表中也找到了Flask-Login。

请问我该如何解决这个问题呢?先感谢您!

已解决:我犯了一个愚蠢的错误,没有意识到错误指向另一个目录中的文件。

小智 3

看来要么你还没有安装,flask-login如果是这种情况,那么flask-login通过安装pip install flask-login

如果您已安装,请确认您已激活虚拟环境。