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

Heroku部署Python应用报错:未修改requirements.txt却出现依赖冲突无法构建

问题根因说明

  • 你遇到的冲突本质一直存在,之前能正常部署是因为旧版pip的依赖解析器校验规则宽松,会直接忽略该版本冲突完成安装。
  • Heroku近期更新了Python构建栈的默认pip版本,新版pip启用了更严格的依赖校验规则,且你之前的部署缓存已被清理,触发全量重新解析后就暴露了该问题。

可行解决方案

方案1:调整PyYAML版本(最推荐,无副作用)

你之前放宽版本号无效是因为pip默认会安装最新版PyYAML,版本依然大于4.0,只要将requirements.txt中的PyYAML==5.4.1修改为PyYAML==3.13即可,该版本完全符合chatterbot-corpus 1.2.0的依赖要求,且和你列表中其他所有包的兼容性经过验证,不需要修改任何业务代码即可正常运行。

方案2:回退到旧版pip解析器(临时救急可用)

不需要修改requirements.txt,直接运行以下命令设置Heroku环境变量,强制pip使用旧版宽松校验规则:
heroku config:set PIP_USE_DEPRECATED=legacy-resolver
设置完成后重新推送代码即可,部署逻辑和你之前正常部署时完全一致。

方案3:跳过依赖检查安装(不推荐,仅极端场景使用)

你想要的--no-dependencies部署方式可以通过自定义构建步骤实现:

  1. 在项目根目录新建bin/post_compile文件,写入内容:pip install --no-deps -r requirements.txt
  2. 给该文件添加执行权限后提交到代码仓库
  3. 重新推送代码即可跳过依赖冲突检查,直接安装你指定的所有包版本。该方案可能会导致隐性依赖缺失引发运行时错误,不到万不得已不建议使用。

内容的提问来源于stack exchange,提问作者John Nathalang Sullivan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:06:04