如何在 pip.ini (Windows) 或 pip.conf (Mac/Linux) 中使用 extra-index-url 在 azure [=11] 中为 Pip 项目设置 pip 指定身份验证=]

How to specify authentication for Pip Project setup pip with extra-index-url in pip.ini (Windows) or pip.conf (Mac/Linux) on azure pipelines/artifacts

Azure Artifacts 允许将模块发布到 Artifactory,然后可以通过在 pip.ini (Windows) 或 [=17] 中设置 extra-index-url 使用 pip 安装=] (Mac/Linux)

但是,当使用 pip install 时,系统要求 user/password

是否可以在 pip.conf 中进行设置和/或更好地使用 .ssh 签名?

Is it possible to setup this inside pip.conf and / or even better use .ssh signatures?

如果这是您第一次尝试连接到 Azure Devops 源,您遇到的是预期行为

它会询问您的凭据并将其保存在本地缓存中,如果一切正常,它不会再次询问用户名和密码。查看我的日志:

需要注意的是:

1.The Python 凭据提供程序是一个 artifacts-keyring 包。它用于保留凭据而不是其他选项,如 pip.conf.ssh.

2.What 它要求的是 PAT。对我来说,我在 UserPassword 输入中都输入了 pat。

3.If你每次连接feed还是需要输入密码,一定是你的Python Credential Provider(artifacts-keyring)包有问题。请确保在 运行 pip install 命令之前成功安装此软件包。

4.There'two options(看来您正在使用选项 2)连接到 Feed,他们 都需要 artifacts keyring 包来保存凭据。对于 windows 环境中的我来说,安装该软件包很容易。但是如果你在Linux环境下,你应该仔细检查Get Tools按钮中的step4:

以上是 the link 个先决条件。

希望以上对你有所帮助:)

我遇到了同样的问题,这是一个对我有用的解决方案。要绕过 Lance Li-MSFT 提到的整个过程:

It will ask your credentials and keep it in local cache, and it won't ask for user and password again if everything is ok

)

pip.ini/pip.conf文件中,添加:

[global]
extra-index-url=https://<Personal Access Token>@pkgs.dev.azure.com/<Organization Name>/_packaging/<Feed Name>/pypi/simple/

如果您处于无法进行首次交互式登录的环境中(示例用例:从 Azure 机器学习工作区设置 Azure Databricks 并安装所需的包),这将很有用。