【问题标题】: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 管道/工件上的 pip.ini (Windows) 或 pip.conf (Mac/Linux) 中使用 extra-index-url 为 Pip Project setup pip 指定身份验证
【发布时间】:2020-05-27 06:39:59
【问题描述】:

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

但是,当使用 pip install 时,系统要求输入用户名/密码

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

【问题讨论】:

  • 检查this document,有两个选项。它可以用 PAT 而不是 .ssh 来完成。另外,据我所知,这是您第一次尝试连接到提要时的预期行为,之后凭据将在本地缓存,您无需再次输入~
  • 我们必须使用artifacts keyring 包来设置和保存这些凭据。不能用 pip.conf 或 .ssh 签名中的东西来完成。它需要 PAT(凭据),并且工件密钥环会将其保存在本地缓存中。
  • 嗨,正如你所写,pip 钥匙圈似乎是所有人的钥匙,所以thanx 并接受了。目前我的钥匙圈拿走了我的 PAT,但以后不会再记录我了,希望能尽快解决:)...
  • 您的pat好像没有按预期工作,请检查您是否按照官方文档中的所有步骤正确执行。如果问题仍然存在,请考虑发布一个带有azure-devops 标签的新问题,并附上详细信息,以便在 linux 中重现您的问题以获得良好的帮助~

标签: python pip azure-pipelines azure-artifacts


【解决方案1】:

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

它会询问您的凭据并将其保存在本地缓存中,如果一切正常,它就不会再次询问用户和密码

)

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 并安装所需的包)。

【讨论】:

  • @ntg 如果这适用于您的用例,请对此进行审查。
  • 我现在无法访问系统,但会这样做...谢谢,这似乎很有用。 :)
  • 很好的解决方案,也适用于 docker 镜像构建!!
  • 您不得将 PAT 存储在磁盘上的任何位置。如果有人可以访问您的磁盘,他们可以检索令牌并可以访问您的资源,例如源代码、工件等。
【解决方案2】:

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

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

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

我们应该注意:

1.Python Credential Provider 是一个artifacts-keyring 包。它用于保留凭据,而不是其他选项,例如 pip.conf.ssh

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

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

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

这是上述先决条件的the link

希望以上所有帮助:)

【讨论】:

    猜你喜欢
    • 2020-02-27
    • 2012-03-30
    • 2015-04-01
    • 2011-06-13
    • 2021-07-19
    • 2017-03-18
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多