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

Heroku部署pip安装依赖失败:requirements.txt中@格式依赖报错

@符号的作用

@是pip 19.0版本后官方支持的依赖源指定语法,格式为包名 @ 安装源地址,安装源可以是本地文件路径、Git仓库地址、远程依赖包链接等。

你场景中出现的本地路径格式,是因为你本地的cffi包不是直接从PyPI公共源安装的,大概率是通过本地编译缓存、或者本地目录直接安装的,pip freeze执行时会直接记录当前包的实际安装源,而这个本地路径只存在于你的开发设备上,Heroku服务器不存在对应路径,因此触发报错。

部署失败的解决方法
  • 首先删除requirements.txt中所有包含@ file://格式的依赖条目,这类条目都是你的开发环境专属的本地路径,无法在其他服务器上生效
  • 查看本地virtualenv环境中对应包的实际版本:执行pip list找到cffi的版本号,将对应依赖行改为标准版本约束格式,比如cffi==1.15.0(替换为你实际查到的本地版本即可)
  • 也可以直接执行命令一键生成合规的依赖列表:pip freeze --all | grep -v "@ file://" > requirements.txt,该命令会自动过滤所有带本地路径的条目,输出带标准版本号的依赖清单
  • 确认修改后的requirements.txt没有本地路径条目后,重新提交到Git仓库,再推送到Heroku即可正常完成依赖安装
  • 后续开发时尽量避免从本地目录直接安装依赖,优先使用pip install 包名从PyPI源安装,可避免pip freeze生成本地路径格式的依赖条目

内容的提问来源于stack exchange,提问作者Kouichi C. Nakamura

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:36:06