You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python包无法推送至Azure DevOps Artifacts Feed问题求助

Azure DevOps Artifacts 发布私有Python包报错问题

问题背景

我正尝试将仅限本组织成员使用的Python包发布至Azure DevOps Artifacts,使用的Azure Pipeline配置如下:

trigger:
- main

pool:
  vmImage: ubuntu-latest


steps:
- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.7'
  displayName: 'Use Python 3.7'

- script: |
    python -m pip install --upgrade pip
    python -m pip install --upgrade build setuptools twine
    python -m build
    pip install -r requirements.txt
  displayName: 'Install dependencies'

- script: |
    pip install pytest pytest-azurepipelines
    pytest
  displayName: 'pytest'

# Publish code to a previously created feed
- task: TwineAuthenticate@1
  inputs:
    artifactFeed: feed-name
- script: |
   python -m twine upload -r feed-name --config-file $(PYPIRC_PATH) dist/*.whl    

但流水线的CmdLine步骤执行失败,报错信息如下:

Received "500: Internal Server Error - Failed to retrieve data from the upstream package source 'https://pypi.org/': Forbidden (Forbidden) (DevOps Activity ID: some-id-string)"

同时尝试本地构建包并推送至该feed,也出现完全相同的错误,有以下疑问:

  1. 如何解决这个报错?
  2. 我的包是本地代码,PyPI上没有相关包,为什么会涉及PyPI作为上游源?
  3. 我要发布仅限组织内部使用的私有包,为什么会提到PyPI?是否不需要使用twine?

解答

1. 报错解决方法

这个错误的根源是你的Azure Artifacts feed默认配置了PyPI作为上游源,但当前环境无法正常访问PyPI导致的。解决步骤:

  • 登录Azure DevOps,进入目标feed的设置页面
  • 找到「上游源」选项,删除PyPI的上游源配置
  • 保存设置后,重新运行流水线或执行本地推送操作即可

如果之后需要通过该feed拉取PyPI上的公共依赖包,可以再重新添加PyPI上游源,并确保配置了正确的访问权限(比如允许feed访问公共外部源)。

2. 为什么会涉及PyPI作为上游源

Azure Artifacts的feed默认会自动添加PyPI作为上游源,设计目的是让这个feed可以同时承载私有包和从PyPI同步的公共包。即便你要发布的是本地私有包,推送操作触发时,feed会检查自身的上游源配置,一旦发现配置了PyPI但无法访问,就会抛出这个错误。

3. 私有包是否需要twine?为什么提到PyPI?

  • 发布Python包到Azure Artifacts必须使用twine:twine支持安全的身份验证和包上传流程,Azure DevOps提供的TwineAuthenticate@1任务也是专门配合twine实现身份验证的,所以不能省略twine。
  • 提到PyPI完全是因为feed默认开启了上游源配置,和你的私有包本身没有关系。只要按照第一个问题的方法移除PyPI上游源,就不会再出现相关错误,你的包依然是仅限组织内部成员访问的私有包。

内容的提问来源于stack exchange,提问作者FaCoffee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:30:58