Heroku部署时推送被拒,Django3.2.8与Python3.9.7版本不支持报错如何解决
Heroku部署Python版本不支持报错解决步骤
- 检查项目根目录是否存在
runtime.txt文件
Heroku仅识别该文件内的Python版本声明,不会读取requirements.txt中的版本信息。请在根目录新建runtime.txt,内容严格填写为python-3.9.7,注意全部小写,分隔符为横线,版本号和官方支持的拼写完全一致,同时删除requirements.txt中所有和Python版本声明相关的内容。 - 清理Heroku构建缓存
此前的错误构建会残留缓存导致版本识别异常,本地运行命令heroku builds:cache:purge -a 替换为你的Heroku应用名称清理缓存后重新推送代码即可。 - 确认Heroku栈版本兼容性
过旧的Heroku栈(如已停止维护的Heroku-18)不支持Python 3.9.7,运行命令heroku stack查看当前使用的栈版本,升级到Heroku-20或Heroku-22即可,这两个版本的栈均原生支持Python 3.9.7。 - 核对依赖兼容性
确认requirements.txt中其余依赖和Django 3.2.8、Python 3.9.7不存在版本冲突,可本地新建虚拟环境安装全量依赖测试无问题后再重新推送。
你提供的报错信息截图:
你提供的requirements.txt内容截图:
内容的提问来源于stack exchange,提问作者INTELcike
相关产品推荐
相关产品推荐

