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

从私有Artifactory安装daisy包的依赖与源优先级问题

问题分析与解决

这不是pip的bug,是其默认的源优先级与版本选择逻辑导致的,具体原因和解决方法如下:

核心原因

  1. 依赖解析缓存问题:单独用pip3 install -i https://our-artifactory/pypi/simple daisy时找不到匹配的pandas,大概率是pip缓存了旧的源索引信息,导致解析daisy的依赖时,没从私有源正确检索到符合版本要求的pandas。而单独安装pandas时,缓存被刷新或直接拉取了私有源的最新索引,所以能成功找到对应版本。
  2. 包版本优先级逻辑:添加--extra-index-url https://pypi.org/simple后,pip会从所有配置的源拉取包的版本信息,默认选择版本号最高的包。如果PyPI上的daisy版本高于私有源的,自然会优先安装PyPI的包;指定daisy==0.0.2时,pip会精准匹配私有源里的对应版本,所以能正常安装。

解决方法

方法1:清除缓存重新安装(解决依赖找不到的问题)

执行命令时加上--no-cache-dir,强制pip重新从私有源拉取索引信息:

pip3 install -i https://our-artifactory/pypi/simple --no-cache-dir daisy

方法2:强制优先选择私有源的包(解决不指定版本拉取PyPI包的问题)

使用--prefer-index-url参数(pip 21.0及以上版本支持),让私有源的优先级高于额外源,即使PyPI的daisy版本更高,也会优先安装私有源的包:

pip3 install --index-url https://our-artifactory/pypi/simple --extra-index-url https://pypi.org/simple --prefer-index-url daisy

方法3:调整私有源包版本号(若有权限)

如果可以修改私有源里的daisy包版本号,将其设置为比PyPI上更高的版本,pip就会默认选择私有源的包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:00:56