使用uv通过--extra-index-url对接Google Cloud Artifact Registry遇安装失败
解决uv对接Google Cloud Artifact Registry安装私有包失败的问题
问题背景
使用uv 0.4.18通过--extra-index-url对接Google Cloud Artifact Registry时,执行安装命令提示找不到目标包,但用标准pip执行相同流程可正常安装私有包。此前已有同类问题反馈记录。
可行解决方案
升级uv至最新版本
旧版本(如0.4.18)存在Google Artifact Registry认证兼容问题,后续版本已修复。执行升级:uv upgrade升级后直接重新运行原安装命令即可,无需修改参数。
手动指定认证环境变量
若暂时无法升级,可通过环境变量传递认证信息:# 获取并设置应用默认凭证 export GOOGLE_APPLICATION_CREDENTIALS=$(gcloud auth application-default print-access-token) # 执行安装 uv pip install ${MY_PACKAGE} --extra-index-url https://${REGION}-python.pkg.dev/${PROJECT_ID}/${REPOSITORY_ID}/simple借助pip-tools过渡(替代方案)
若上述方法均无效,可通过pip生成锁定文件后用uv安装:- 用pip编译生成requirements锁定文件:
pip-compile requirements.in --output-file requirements.txt - 用uv安装依赖:
uv pip install -r requirements.txt
- 用pip编译生成requirements锁定文件:
原因说明
uv旧版本的keyring处理逻辑与pip存在差异,导致无法正确加载keyrings.google-artifactregistry-auth插件完成认证,从而无法访问私有仓库中的包。升级uv或手动传递认证信息可绕过该问题。
内容的提问来源于stack exchange,提问作者Jonatas Eduardo
相关产品推荐
相关产品推荐

