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

部署带自定义应用的Django项目到Heroku报无效可编辑依赖错误

问题原因

你在requirements.txt中配置的/path/to/django-apps/xxx是本地开发环境的绝对路径,Heroku部署时的构建容器是独立隔离的环境,不存在你本地的目录结构,pip无法在对应路径找到可安装的项目,因此抛出无效可编辑依赖的错误。

修复方案

按适配场景选择以下任意一种方案即可:

方案1:同仓库相对路径引入(最推荐,适合自定义应用随主项目共同迭代的场景)

  • 将所有自定义Django应用目录迁移到主项目Git仓库内,比如放在和manage.py同级的django-apps/目录下
  • 将requirements.txt中原有的绝对路径替换为相对路径(路径相对于requirements.txt文件的所在位置):
-e ./django-apps/moderation/django-moderation
-e ./django-apps/social/django-social
-e ./django-apps/user/django-userprofile
-e ./django-apps/event/django-events
-e ./django-apps/contactus/django-contactus
  • 确认这些应用目录没有被.gitignore排除,执行git add .提交所有变更后重新推送即可。Heroku构建时会在自身文件系统内通过相对路径找到对应项目,完成pip安装。
  • 本地可以提前执行git ls-files | grep django-apps校验这些应用文件是否已经被Git跟踪,避免漏提交。

方案2:VCS地址引入(适合自定义应用独立维护、多项目复用的场景)

  • 将每个自定义应用推送到独立的Git代码仓库(私有仓库需要提前配置Heroku的仓库访问权限)
  • 将requirements.txt中的本地路径替换为符合pip规范的Git VCS地址:
-e git+https://你的代码仓库地址/django-moderation.git#egg=django-moderation
-e git+https://你的代码仓库地址/django-social.git#egg=django-social
-e git+https://你的代码仓库地址/django-userprofile.git#egg=django-userprofile
-e git+https://你的代码仓库地址/django-events.git#egg=django-events
-e git+https://你的代码仓库地址/django-contactus.git#egg=django-contactus
  • 提交变更后重新推送,Heroku构建时会自动从对应Git地址拉取依赖完成安装。

方案3:项目内直接引用(适合快速测试部署场景)

直接把自定义应用的代码放到主项目的模块目录下(比如根目录的apps/文件夹),不使用pip editable模式安装,只要在settings.py的INSTALLED_APPS中配置正确的导入路径即可,这种方式不需要在requirements.txt中添加这些应用的依赖项,跳过pip安装步骤。

注意事项
  • 所有提交到部署仓库的路径配置不要使用本地绝对路径,优先使用相对路径或所有部署环境均可公开/授权访问的资源地址。
  • 部署前可以本地在全新的虚拟环境中,拉取对应Git分支的代码执行pip install -r requirements.txt,如果本地全新环境能安装成功,Heroku端基本不会出现路径类依赖错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:09:33