部署Django项目到Heroku报错:应用与python buildpack不兼容推送被拒
Django部署Heroku推送失败解决方案
错误原因
该报错由Heroku Python构建包未检测到合法Python项目结构导致,可按以下步骤逐一排查解决:
排查步骤
- 确认文件层级正确
执行git ls-files查看已提交的文件清单,确认requirements.txt、Procfile与.git文件夹处于同根目录,没有被放置在子文件夹中。如果位置错误,移动文件到根目录后重新提交代码再推送。 - 校验
requirements.txt格式
确认文件编码为无BOM的UTF-8格式,没有乱码、特殊符号或无效依赖声明。如果是Windows环境下生成的文件,建议先转码后再提交。可在文件第一行添加明确的Python版本声明,示例:
注意需使用Heroku支持的Python版本,不要使用3.6及以下已停止维护的版本。python==3.9.* # 后续保留原有pip freeze生成的依赖内容 - 确认推送分支匹配
目前多数Git仓库默认本地分支为main而非master,如果你本地当前活跃分支为main,可执行git push heroku main:master直接推送,或切换到本地master分支合并代码后再推送。 - 手动绑定Python构建包
执行heroku buildpacks:set heroku/python命令手动为项目指定Python构建包,之后再重新执行推送操作。 - 校验
Procfile配置
确认文件名称为Procfile(首字母大写,无任何文件后缀),内容中的wsgi路径与项目结构一致:确认Django根目录下存在web_chat文件夹,且文件夹内包含wsgi.py文件。
内容的提问来源于stack exchange,提问作者Тимати Рогач
相关产品推荐
相关产品推荐

