Heroku部署Django项目提示与python buildpack不兼容如何解决?
Heroku部署Django项目git推送失败解决方案
报错核心说明
该报错核心原因是Heroku的Python构建包未识别到当前项目为符合要求的Python应用配置,对应报错日志片段如下:
remote: -----> App not compatible with buildpack: heroku/python remote: ! Push failed remote: ! Push rejected to youtube-to-mp3converter.
可按照以下步骤排查解决:
- 检查项目根目录是否存在
requirements.txt文件
在本地项目的虚拟环境中执行pip freeze > requirements.txt命令生成依赖文件,确保文件内包含Django、gunicorn等项目运行所需的所有依赖包,该文件必须放在Git仓库的根目录下,不能放置在子文件夹中。 - 检查依赖管理工具配置冲突
如果你使用Pipenv管理项目依赖,需要保证根目录下存在Pipfile和Pipfile.lock文件,不要同时存在requirements.txt和Pipenv相关配置文件,避免构建包检测冲突。 - 确认配置文件已提交到Git
执行git status命令检查requirements.txt等配置文件是否已被加入Git提交记录,如果存在未提交的文件,依次执行git add 对应文件名、git commit -m "add required config files"命令提交后再重试推送。 - 检查Python版本配置
如果你在项目中通过runtime.txt指定了Python版本,需要保证文件内容格式为python-3.xx.xx,且使用的版本属于Heroku当前支持的Python版本范围,不要使用已停止维护的低版本。 - 重新指定构建包
完成上述排查后如果仍然报错,可手动重新指定Python构建包,本地执行命令heroku buildpacks:set heroku/python,执行完成后再重新执行git push heroku master即可。
内容的提问来源于stack exchange,提问作者jay Chovatiya
相关产品推荐
相关产品推荐

