Flask升级后Flask-DebugToolbar导入_request_ctx_stack失败求助
问题原因
Flask 3.0.0 移除了内部API _request_ctx_stack,而你使用的 Flask-DebugToolbar 0.13.1 版本仍依赖这个已被移除的接口,导致导入错误。
解决方案
两种可行方案选其一即可:
方案1:升级Flask-DebugToolbar到兼容版本
Flask-DebugToolbar 0.14.0及以上版本已适配Flask 3.x,执行以下命令升级:
pip install --upgrade flask-debugtoolbar
之后更新requirements.txt,将Flask-DebugToolbar==0.13.1替换为:
Flask-DebugToolbar>=0.14.0
方案2:降级Flask到2.x版本
如果不想升级调试工具栏,可以将Flask降级到仍保留_request_ctx_stack的2.x稳定版本(比如2.3.3),同时同步降级Werkzeug到对应版本:
pip install flask==2.3.3 werkzeug==2.3.7
更新requirements.txt中的对应版本:
Flask==2.3.3 Werkzeug==2.3.7
额外提示
你的代码存在笔误:deubg = DebugToolbarExtension(app)应改为debug = DebugToolbarExtension(app),虽不是当前报错原因,但修正后可避免后续变量未定义问题。
内容的提问来源于stack exchange,提问作者Hyunjun Yoo
相关产品推荐
相关产品推荐

