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

Django Web应用部署Heroku失败:依赖冲突问题求助

解决Heroku部署中的依赖冲突问题

问题根源

你的部署失败源于两个核心问题:

  1. 冗余开发依赖:awsebcli是AWS Elastic Beanstalk的命令行工具,属于本地开发时使用的工具,完全不需要部署到Heroku生产环境。它要求botocore版本在1.23.41到1.24.0之间,而你指定的boto3==1.26.59需要botocore>=1.29.59,两者版本范围完全不重叠,直接导致依赖冲突。
  2. 版本不匹配:你手动固定的botocore==1.23.50和boto3==1.26.59版本不兼容——boto3与botocore的版本是严格绑定的,高版本boto3必须搭配对应版本的botocore才能正常工作。

解决方案步骤

  • 移除不必要的依赖:从requirements.txt中删除awsebcli==3.20.3这一行。
  • 修复botocore版本:
    选项1:删除botocore==1.23.50的版本固定,让pip自动安装与boto3==1.26.59兼容的botocore版本。
    选项2:手动将botocore版本更新为匹配值,比如botocore==1.29.59(这是boto3 1.26.59对应的官方兼容版本)。
  • 清理冗余开发依赖:检查requirements.txt中是否还有其他仅用于本地开发的包(如virtualenv),如果应用运行不需要,也可以移除以简化依赖结构。

修改后的requirements.txt关键片段示例

asgiref==3.6.0
boto3==1.26.59
# 移除awsebcli和旧版botocore,或替换为兼容版本
# botocore==1.29.59  # 可选:手动指定兼容版本
cement==2.8.2
...  # 保留其他必要依赖

完成上述修改后,重新提交代码到Heroku即可解决部署冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:10:22