Flask-SQLAlchemy报ImportError:无法导入flask.globals的app_ctx问题咨询
解决ImportError: cannot import name 'app_ctx' from 'flask.globals'
错误原因
你固定了Flask 2.1.3的版本,但未限制Flask-SQLAlchemy的版本,pip会默认安装最新版的Flask-SQLAlchemy(如3.x系列)。而Flask-SQLAlchemy 3.x及以上版本要求Flask版本至少为2.2.0,它会尝试从flask.globals导入app_ctx,但Flask 2.1.3中并未导出该对象,因此触发导入错误。
解决方法
有两种可行方案:
方案1:升级Flask到兼容版本
修改requirements.txt,将Flask版本升级到2.2.0及以上的稳定版:
flask>=2.2.0 flask-sqlalchemy
执行命令重新安装依赖:
pip install -r requirements.txt --upgrade
方案2:指定兼容的Flask-SQLAlchemy版本
若不想升级Flask,可指定与Flask 2.1.3兼容的Flask-SQLAlchemy版本(如2.5.1):
flask==2.1.3 flask-sqlalchemy==2.5.1
同样执行命令重新安装依赖:
pip install -r requirements.txt --upgrade
内容的提问来源于stack exchange,提问作者Aravindh R
相关产品推荐
相关产品推荐

