从 Azure DevOps Python Artifacts feed 进行 pip 安装不起作用

2024-01-10

当我尝试从 Azure DevOps Artifacts feed 安装包时,出现错误:

Looking in indexes: https://pypi.org/simple, https://pkgs.dev.azure.com/company/company_Software/_packaging/PyPI/pypi/simple/
ERROR: Could not find a version that satisfies the requirement as-api (from versions: none)
ERROR: No matching distribution found for as-api

当使用pip install -vvv可能会产生机密信息,我无法在此处提供完整的日志。请随时询问有关日志的任何具体问题。与此同时,我可以看到有希望的消息,例如:

Found index url https://pkgs.dev.azure.com/company/company_Software/_packaging/PyPI/pypi/simple/
Getting credentials from keyring for https://pkgs.dev.azure.com/company/company_Software/_packaging/PyPI/pypi/simple/

还有一些有问题的消息?:

Status code 302 not in (200, 203, 300, 301)
Skipping link: not a file: ...
Given no hashes to check 0 links for project 'as-api': discarding no candidates

复制细节

virtualenv .venv
.\.venv\Scripts\activate
python -m pip install -U pip
pip install keyring artifacts-keyring
pip install as-api

This link https://learn.microsoft.com/en-us/azure/devops/artifacts/quickstarts/python-packages?view=azure-devops用于生成发布包的管道以及安装包的建议方法。我的方法现在是选项 1 和选项 2 的混合。请注意使用 php.ini 文件来设置--index-urlartifacts-keyring包(安装时使用--pre对版本没有任何影响),所以它确实没有任何区别。但是,我分别尝试了这两个选项,它不会生成浏览器,因此给出了相同的结果。

系统详细信息:

  • 操作系统:Windows 10
  • Python 2.7.17
pip list
Package           Version
----------------- ----------
artifacts-keyring 0.2.8rc0
certifi           2019.11.28
chardet           3.0.4
configparser      4.0.2
entrypoints       0.3
idna              2.8
keyring           18.0.1
pip               19.3.1
pywin32-ctypes    0.2.0
requests          2.22.0
setuptools        42.0.2
urllib3           1.25.7
wheel             0.33.6

文件夹结构:

test
  |-- test.py
  |-- .venv
         |-- pip.ini
         |-- ... other virtualenv folders and files

pip.ini:

[global]
extra-index-url = https://pkgs.dev.azure.com/company/company_Software/_packaging/PyPI/pypi/simple/

更深入的分析

  • 使用干净的笔记本电脑实际上可以处理上述复制细节。公司的其他电脑也有同样的问题,所以我们的一些设置与身份验证发生了冲突。

  • 如果我们使用管道(参见这个link https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/package/pip-authenticate?view=azure-devops)来安装as-api包,它有效,所以我怀疑这是一个身份验证问题,但任何文档中都没有提到。

  • Using https://用户名:密码@ https://username:password@...即使用户名和密码错误,也不会给出任何身份验证错误。

  • 使用正确的用户名但密码中包含符号会触发交互模式输入用户名和密码。然而,这给出了这个错误:WARNING: 401 Error, Credentials not correct for https://pkgs.dev.azure.com/company/company_Software/_packaging/PyPI/pypi/simple/as-api/请注意,我是 Artifacts feed 的所有者,并且该团队已在权限选项卡中添加为所有者。


作为解决方法:

看起来你正在使用option2 https://learn.microsoft.com/en-us/azure/devops/artifacts/quickstarts/python-packages?view=azure-devops#option-2-manually-configure-authentication from 该文件 https://learn.microsoft.com/en-us/azure/devops/artifacts/quickstarts/python-packages?view=azure-devops进行安装。我碰巧看到一个类似问题 https://support.sonatype.com/hc/en-us/articles/115000572308-Unable-to-install-PyPi-package这表明此错误消息可能与pip.ini(窗户)或pip.conf(linux/mac),所以我认为你可以尝试另一种方法来避免这些配置出现问题。

你可以运行pip install artifacts-keyring --pre然后运行

pip install packageName --index-url https://pkgs.dev.azure.com/xxx/xxx/_packaging/xxx/pypi/simple/ -vvv --no-deps

运行命令的时候会遇到这样的情况pip install artifacts-keyring --pre:

登录通过后,如果您的 feed 中确实存在所需的包,您将获得该包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Azure DevOps Python Artifacts feed 进行 pip 安装不起作用 的相关文章

随机推荐

  • 无法添加对我的项目的引用 - 它根本没有检测到它

    所以我发现了这个很棒的图书馆WatiN http watin org 我已经下载了最新版本 v2 1 我打开了一个控制台应用程序 显然是 C 并编写了我最简单的程序 using WatiN Core FireFox browser new
  • 如何将会话生命周期设置为无限

    如何将会话生命周期设置为无限 有一个设置session cookie lifetime 但我找不到需要将其设置为无限生命周期的值 我已经尝试过 0 但一旦浏览器关闭它就会过期 ini set session cookie lifetime
  • MongoDB 查找文档的所有属性

    如何在 mongodb 中创建查询以按文档的任何属性进行过滤 我有一个对象集合如下 id name John city Rio de Janeiro state RJ address Street 1 我的页面上有一个字段 允许用户检索任何
  • 我们可以从 Visual Studio 任务运行器资源管理器运行 npm start

    我正在 Visual Studio 中设置 Angular 4 代码 我可以从 Visual Studio 成功构建 但是如果我想启动角度代码 我会进入命令提示符并手动输入npm start运行应用程序 运行后npm start 我使用注册
  • SQLAlchemy 中的元数据到底是什么?

    元数据 SQLAlchemy 到底是什么 我很难理解这一点 元数据和引擎有什么区别 元数据是表定义的集合 引擎是特定数据库的方言和连接详细信息 以及保存已与该数据库建立的任何连接的连接池
  • 如何更改 Umbraco 中的 URL 名称

    这是我第一次使用 Umbraco 我使用错误的命名格式创建了文档类型 页面 现在这已经变成了我的页面 URL 例如 about page 我该如何将它们更改为 about因为我搜索了后端管理面板 似乎没有一个选项可以更改他们的link to
  • 在 .rc 文件中设置发布者字段

    我收到这样的消息 我需要在 rc 资源文件 中设置我的发布者名称才能在此窗口中显示它 您需要设置您的 FileDescription 和 CompanyName 字段版本资源 http msdn microsoft com en us li
  • 尊重代码中的空间但忽略 CSS?

    使用CSS我可以让浏览器忽略 nbsp 字符但尊重正常的空白 So this Some text nbsp nbsp More text 显示如下 一些文字 更多文字 Not 一些文字 更多文字 更新我的代码中实际上有更多的空白 我需要默认
  • Android 意图让 SD 卡准备就绪

    我有一个使用 SD 卡上的文件的应用程序 该应用程序在手机启动时运行 并且很明显 当该程序首次运行时无法访问该文件 因为它在 SD 卡可用之前开始工作 是否有广播接收器可以用来告知 SD 卡何时准备就绪 Update 只是总结一下注册意图的
  • 如何在绘图表达散点图中只有一条多种颜色的趋势线?

    我想创建一个只有一条趋势线的散点图 Plotly Express 为点列表中的每种颜色创建不同的趋势线 import plotly express as px value 15 20 35 40 48 years 2010 2011 201
  • EA14.0 中的“覆盖属性初始值设定项”行为更改为 EA12.5 中的“设置运行状态”

    我观察到 EA14 0 中的行为与 EA12 5 中的行为有所不同 Summary 在 EA12 5 中使用时Deployment Specification必须设置Instance Classifier on the Deployment
  • Protractor:Protractor 中的ignoreSynchronization 和async/await 有什么区别

    我是量角器的新手 我正在做测试来熟悉它 在这里 我遇到了一个问题 我无法区分ignoreSynchronization和async await方法 我有 3 个区块来测试它们 第一个是量角器自己的异步功能 it without await
  • https 在 Fiddler 和 .NET 中给出 ERR_CONNECTION_RESET

    谁能向我解释一下为什么在 Chrome 中输入此链接 https secure malindoair com MalindoAirCIBE OnlineBooking aspx https secure malindoair com Mal
  • MVC3 默认模板在哪里存储用户帐户信息?

    你能告诉我当我注册新帐户时 asp net mvc3默认模板将登录信息存储在哪里吗 它在调试模式下本地运行 在没有安装SQLExpress的情况下 注册功能根本不起作用 由于我安装了它 所以我可以使用注册 登录功能 但我在SQLExpres
  • stdin 上的 close/fclose 是否保证正确?

    似乎以下调用执行了您所期望的操作 关闭流并不允许任何进一步的输入 等待流上的输入的任何操作都会返回错误 但它是否保证在所有编译器 平台上都是正确的 close fileno stdin fclose stdin fclose stdin 导
  • .val() 未从输入获取更新值

    我有两个输入字段 我试图通过单击按钮使用 jquery 获取它们的值 这似乎是一个非常简单的操作 但我一生都无法让它发挥作用 这是代码片段 Name
  • 累加值,例如通过扫描,但可以随着时间的推移重置累加器

    我有一个可观察的 obs1 它代表一段时间内的数字流 我需要累积这些数字的总和并逐步发出它 即 很长一段路要说我需要使用scan操作员 然后是第二个 Observable obs2 代表某种 重置时间 换句话说 当obs2发出 我必须重置我
  • Opengl 深度缓冲区和剔除

    OpenGL 中使用背面剔除和深度缓冲区有什么区别 背面剔除是指 OpenGL 确定哪些面背对观看者 因此不可见 想象一个立方体 无论你如何旋转立方体 三个面始终是不可见的 找出这些面是哪些面 将它们从要绘制的多边形列表中删除 这样您就将绘
  • 打开 QDialog 并保存最后的状态

    我正在尝试打开一个QDialog from a QMainWindow 并且在关闭 QDialog之后 如果我需要再次打开它 它必须打开并显示与我关闭它时相同的信息 这是代码QMainWindow class A QMainWindow d
  • 从 Azure DevOps Python Artifacts feed 进行 pip 安装不起作用

    当我尝试从 Azure DevOps Artifacts feed 安装包时 出现错误 Looking in indexes https pypi org simple https pkgs dev azure com company co