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

运行Flask+Celery+Redis应用时遇ImportError:无法导入_request_ctx_stack

错误原因

_request_ctx_stack是Flask早期版本的私有内部API,从Flask 2.0开始被官方移除,替换成了公开可用的request_ctx_stack(去掉了前缀的下划线)。你遇到这个错误,本质是项目里的某个依赖(大概率是Celery或Flask-Celery相关扩展)还在调用旧的私有API——哪怕你更新了Flask,只要依赖库没适配Flask 2.0+的新接口,就会触发这个导入错误。

解决步骤
  • 升级Celery到兼容版本:Celery 5.2及以上已经修复了对Flask 2.0+的适配问题。先查当前Celery版本:
    pip show celery
    
    要是版本低于5.2,直接升级:
    pip install --upgrade celery
    
  • 检查并升级相关扩展:如果用了Flask-CeleryExt这类第三方扩展,也得确保它的版本适配Flask 2.0+,执行升级:
    pip install --upgrade flask-celeryext
    
  • 临时降级Flask(仅应急用):如果升级依赖后还是有兼容问题,可以暂时把Flask降到1.1.x版本(这个版本还保留_request_ctx_stack):
    pip install flask==1.1.4
    
  • 自查项目代码:如果是你自己的代码里直接导入了_request_ctx_stack,把导入语句改成:
    from flask import request_ctx_stack
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 06:07:07