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

使用pipenv和setup.py安装私有仓库失败问题求助

问题根源与解决方案

你遇到的问题其实是因为 dependency_links 这个参数已经被 pip 弃用 了——从 pip 19.0 版本开始,它就不再读取这个配置项,而 Pipenv 底层依赖的是 pip,自然也不会识别 setup.py 里的 dependency_links。至于为什么 python setup.py install 还能正常工作,是因为 setuptools 本身暂时还保留了对这个旧参数的支持,但这已经是过时的用法了。

下面给你两种靠谱的解决办法,都是符合当前 Python 依赖管理标准的:

方法一:改用 PEP 508 格式声明依赖(推荐)

PEP 508 是现在 Python 官方推荐的依赖声明格式,直接把私有库的 Git 地址写在 install_requires 里就行,pip 和 Pipenv 都能正确识别。修改你的 setup.py 如下:

setup(
    name='mypack',
    version='0.1',
    install_requires=[
        # 用 @ 符号指定依赖的 Git 地址和版本/分支/标签
        'otherpack @ git+ssh://git@gitlab.com/theSage21/otherpack@0.1'
    ]
)

这样修改后,再运行 pipenv install -e . --verbose,Pipenv 就会直接从指定的 Git 仓库拉取 otherpack==0.1,而不会去 PyPI 搜索了。

方法二:直接在 Pipfile 中指定私有依赖

如果你不想修改 setup.py,也可以手动在项目的 Pipfile 里添加 otherpack 的配置。找到 Pipfile 里的 [packages] 区块,添加:

[packages]
mypack = {editable = true, path = "."}
otherpack = {git = "ssh://git@gitlab.com/theSage21/otherpack", ref = "0.1"}

添加完成后,运行 pipenv install --verbose 就能正确安装依赖了。

额外提醒

dependency_links 已经被官方标记为废弃,后续版本的 setuptools 也可能移除对它的支持,所以建议尽快迁移到 PEP 508 格式,避免以后出现兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:55:57