如何为UV正确存储Azure注册表的PAT?
如何为UV正确存储Azure注册表的PAT?
我来帮你搞定这个UV配置Azure私有源认证的问题!你之前用Poetry的配置是没问题的,但UV依赖.netrc文件时,对Azure DevOps的主机名格式有特定要求,这也是你遇到401错误的原因。
先说说你之前的配置问题:你在.netrc里写的machine pkgs.dev.azure.com/my-org是错误的——.netrc的machine字段只需要填主机名,不需要带上后续的路径部分(比如/my-org)。
正确的.netrc配置应该是这样的:
machine pkgs.dev.azure.com login my-org password <你的PAT>
另外还要注意几个关键细节,避免再次踩坑:
- PAT权限要足够:确保你在Azure DevOps生成的PAT拥有
Packaging (Read)权限,不然即使配置正确也会返回401 - .netrc文件权限要合规:在Linux/macOS系统下,这个文件的权限必须设为
600(执行chmod 600 ~/.netrc),权限太宽的话UV会因为安全原因忽略它 - 验证配置是否生效:可以用这条命令测试:
如果能正常拉取包,就说明配置没问题了uv pip install --index-url https://pkgs.dev.azure.com/my-org/_packaging/你的-feed名称/pypi/simple/ 你的测试包名
备注:内容来源于stack exchange,提问作者Andrei Krasnikau
相关产品推荐
相关产品推荐

