GCP Artifact仓库自定义Python包安装依赖错误求助
解决GCP Artifact仓库安装自定义Python包的依赖找不到问题
核心原因
当你使用--index-url指定GCP Artifact仓库作为唯一包源时,pip只会从该仓库查找所有包——但你的自定义包依赖的pandas、numpy等公共包并不在这个私有仓库里,因此会抛出版本找不到的错误。
解决方法
方法1:安装时同时指定PyPI作为额外索引源
通过--extra-index-url保留默认的PyPI源,让pip优先从GCP仓库拉取你的自定义包,缺失的公共依赖则从PyPI获取:
pip install mf-ai-subrequests==1.0.0 \ --index-url https://$GCP_REGION-python.pkg.dev/$GCP_PROJECT_ID/$GCP_REPOSITORY/simple/ \ --extra-index-url https://pypi.org/simple/
注意:替换命令中的$GCP_REGION、$GCP_PROJECT_ID、$GCP_REPOSITORY为你实际的GCP参数。
方法2:配置GCP仓库的上游源(长期推荐)
给你的GCP Artifact仓库配置PyPI作为上游源,这样仓库会自动从PyPI拉取缺失的依赖包,后续安装无需额外指定索引:
- 登录GCP控制台,进入Artifact Registry,找到你的目标仓库
- 在仓库设置中找到「上游源」选项,点击「添加上游源」
- 填写上游源信息:类型选「PyPI」,地址填
https://pypi.org/simple/,保存配置 - 重新执行你原来的安装命令即可
方法3:检查自定义包的依赖配置
确认你的pyproject.toml中依赖声明是否正确——报错信息显示pip在找pandas==2.2.3,但你说配置的是>=2.2.3,可能存在配置错误:
打开pyproject.toml,确保[project]下的依赖是:
[project] dependencies = [ "pandas>=2.2.3", "numpy>=1.26.4" ]
如果之前确实写的是==,需要重新执行构建和上传命令:
python -m build --sdist --wheel twine upload --repository-url https://$GCP_REGION-python.pkg.dev/$GCP_PROJECT_ID/$GCP_REPOSITORY/ dist/*
额外注意事项
- 升级pip到最新版本,避免旧版本的索引源处理bug:
pip install --upgrade pip - 若在受限网络环境(如内网),需确保能访问GCP仓库和PyPI(或配置代理)
内容的提问来源于stack exchange,提问作者Alberto Sanmartin Martinez
相关产品推荐
相关产品推荐

