Heroku执行git push推送Python应用失败,pre-receive hook declined错误求助
问题排查与解决方案
错误原因
- Heroku构建失败的核心诱因是依赖拉取失败:你在
requirements.txt中指定拉取discord.py仓库的rewrite分支,该分支已被官方仓库删除,Git无法找到对应分支的代码,导致pip安装依赖时报错终止,最终推送被拒绝。
修复方案
- 修改项目根目录下的
requirements.txt文件,将第一行的discord.py依赖替换为可用版本:- 若使用稳定发行版,替换为:
discord.py==2.3.2- 若需要使用最新开发版本,替换为拉取官方主分支:
若原有代码是基于旧版rewrite分支开发,只需要调整少量已废弃的API调用写法即可适配新版discord.py。git+https://github.com/Rapptz/discord.py@main - (可选)如果你的机器人代码适配特定Python版本,可以在项目根目录新增
runtime.txt文件,文件内写入指定的Python版本即可,示例内容:python-3.10.12 - 将修改后的文件提交到本地Git仓库,重新执行
git push heroku HEAD:main命令即可完成推送部署。
内容的提问来源于stack exchange,提问作者Sdej Sdeyt
相关产品推荐
相关产品推荐

