You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动flask-login时出现ImportError:无法从flask导入_request_ctx_stack

问题描述
  • 已注释应用中所有flask-login相关引用,应用可正常运行
  • 执行from flask_login import LoginManager时,Flask Shell启动阶段报错:

    ImportError: cannot import name '_request_ctx_stack' from 'flask' (/. . . /iws/venv/lib/python3.10/site-packages/flask/__init__.py)

  • 当前环境:Ubuntu 22.04/Debian 12、Python3.10、Flask3.0.0、flask-login0.6.2/0.6.1、Werkzeug3.0.0
  • 已尝试:更换flask-login和Werkzeug版本、切换操作系统与Python3.9版本、参考相关博客指引,问题未解决
解决方案
  1. 升级flask-login到兼容版本
    Flask3.0移除了内部的_request_ctx_stack对象,而flask-login 0.6.x系列版本仍依赖该对象,导致导入错误。必须升级到0.7.0及以上版本(该版本已适配Flask3.x的API变更)。
    执行升级命令:

    pip install --upgrade flask-login
    
  2. 验证版本兼容性
    安装完成后,执行以下命令确认版本:

    pip show flask-login
    

    确保输出的Version字段≥0.7.0

  3. 清理依赖缓存(可选)
    如果之前的依赖缓存导致版本冲突,可清理缓存后重新安装:

    pip cache purge
    rm -rf venv  # 若使用虚拟环境,删除后重新创建
    python -m venv venv
    source venv/bin/activate  # 激活虚拟环境
    pip install flask flask-login  # 重新安装核心依赖
    

内容的提问来源于stack exchange,提问作者BogdanG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 00:38:11