部署Flask应用到Google App Engine出现依赖匹配错误该如何解决?
问题排查与解决方案
核心错误原因
你在requirements.txt中声明了Python==3.7.3依赖,而Python本身不属于PyPI托管的第三方包,pip无法从包仓库找到对应安装包,直接触发构建失败。你之前升级pip、本地安装Python 3.7.3的操作无法解决问题,因为错误根因是依赖声明规则误用。
修复步骤
- 第一步:修改
requirements.txt文件,删除Python==3.7.3这一行,修改后内容如下:
Flask==1.1.2 Werkzeug==1.0.1 gunicorn==20.0.4
- 第二步:调整
app.yaml配置,明确指定Python运行时版本,移除仅适用于标准环境的冗余参数:
你当前runtime_config.python_version仅写了3,App Engine柔性环境需要明确指定到次版本号才能匹配你需要的3.7系列运行时,同时api_version、threadsafe是App Engine标准环境的配置项,柔性环境无需填写。修改后app.yaml内容如下:
runtime: python env: flex runtime_config: python_version: 3.7 entrypoint: gunicorn -b :$PORT main:app
- 第三步:重新执行部署命令
gcloud app deploy即可。
补充说明
构建日志中的pip版本升级警告属于非阻断性提示,不影响部署流程,无需额外处理。
内容的提问来源于stack exchange,提问作者justanotherstudent
相关产品推荐
相关产品推荐

