You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署时pip依赖安装失败求助(原长期可用流程突发失效)

解决Heroku部署时Git依赖拉取失败的问题

这问题我之前踩过坑!你一直用的git push heroku master突然失效,从报错片段看,核心问题是Heroku在安装django-widget-tweaks这个Git仓库依赖时出了状况。给你几个靠谱的排查和解决方向:

1. 修正requirements.txt里的Git依赖写法

你的requirements.txt里应该有类似这样的行:git+https://github.com/julianogouveia/django-widget-tweaks/#egg=django-widget-tweaks,这种不带版本锚点的写法很容易因为仓库更新、Heroku的pip版本兼容问题失效。

  • 建议改成绑定具体commit哈希的格式:git+https://github.com/julianogouveia/django-widget-tweaks@abc1234#egg=django-widget-tweaks(把abc1234换成仓库里实际存在的commit哈希),这样能固定依赖版本,避免仓库变动带来的意外。
  • 如果这个包已经发布到PyPI了,直接用django-widget-tweaks==1.4.12(替换成你需要的版本号)会更稳定,Heroku处理PyPI包的流程比Git仓库更成熟。

2. 清理Heroku的依赖缓存

Heroku会缓存之前安装过的依赖,有时候旧缓存会干扰新的部署。执行下面的命令清理缓存,然后重新部署:

heroku repo:purge_cache -a 你的应用名称
git push heroku master

3. 检查Python运行环境一致性

确认你的项目根目录下的runtime.txt指定了正确的Python版本(比如python-3.9.16),有时候Python版本不匹配会导致pip拉取Git依赖失败。你可以用这条命令查看Heroku当前的Python版本:

heroku run python --version -a 你的应用名称

尽量让本地开发环境的Python版本和Heroku保持一致。

4. 本地先验证依赖安装

在本地创建一个全新的虚拟环境,运行pip install -r requirements.txt,看看能不能成功安装:

  • 如果本地也失败,那问题出在依赖本身:比如仓库地址写错了、分支不存在,或者仓库里缺少setup.py/pyproject.toml这类打包必需的文件。
  • 如果本地能成功,那就是Heroku的环境问题,你可以提交一个空commit触发强制重新部署:
git commit --allow-empty -m "触发重新部署"
git push heroku master

附上你提供的报错片段:

remote: -----> Python app detected
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote: Obtaining django-widget-tweaks from git+https://github.com/julianogouveia/django-widget-tweaks/#egg=django-widget-tweaks (from -r /tmp/build_843fc05109f047351641f1b9e1db069d/require...

内容的提问来源于stack exchange,提问作者Juliano Gouveia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:04:13