发布 Python 包 (CLI)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

本文介绍如何使用 NuGet 命令行接口将 Python 包发布到 Azure Artifacts 源。

先决条件

产品 要求
Azure DevOps - An Azure DevOps 组织
- Azure DevOps 项目
- 下载并安装 Python

创建源

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目”,然后选择“创建源”

  3. 为源提供一个名称,选择定义谁可以查看包的可见性选项;如果想包含来自 nuget.orgnpmjs.com 等源的包,请选中包含来自公共源的包,对于范围,决定源的范围是项目还是整个组织。

  4. 完成操作后,选择“创建”

    显示用于在 Azure DevOps Services 中创建新源的选择的屏幕截图。

  1. 登录到你的 Azure DevOps 服务器,然后转到你的项目。

  2. 选择“项目”,然后选择“创建源”

  3. 为源提供一个名称,选择定义谁可以查看包的可见性选项;如果想包含来自 nuget.orgnpmjs.com 等源的包,请选中包含来自公共源的包,对于范围,决定源的范围是项目还是整个组织。

  1. 完成操作后,选择“创建”

    显示用于在 Azure DevOps 2022 中创建新源的选择的屏幕截图。

  1. 完成操作后,选择“创建”

    显示用于在 Azure DevOps 2020 中创建新源的选择的屏幕截图。

注意

默认情况下,当创建新提要时,项目中的生成服务(例如:projectName Build Service (orgName))将被分配提要和上游阅读者(协作者)角色。

发布包

  1. 如果尚未执行,请按照项目设置中的步骤对源进行身份验证,然后继续下一步。

  2. 登录到 Azure DevOps 组织,并导航到你的项目。

  3. 选择工件,然后选择连接到源

  4. 从左侧导航区域中选择 twine。 如果这是你第一次将 Azure Artifacts 与 twine 配合使用,请确保通过选择获取工具并按照提供的步骤安装必备组件。

  5. pypirc 文件添加到主目录,并将提供的代码片段粘贴到其中。 文件的内容类似于以下片段。 如果您已经有一个包含公共 PyPI 索引凭据的 pypirc,建议您删除其中的 [pypi] 部分,以防止误将私有包发布到 PyPI。

    [distutils]
    Index-servers =
    FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    
  6. 在项目目录中运行以下命令,创建源分发和 wheel 分发。

    python setup.py sdist bdist_wheel
    
  7. 运行以下命令以发布包。 使用 -r REPOSITORY_NAME 标志来确保不会意外将专用包发布到 PyPI。

    twine upload -r REPOSITORY_NAME dist/*
    

重要说明

必须具有孪生 1.13.0 或更高版本才能使用 artifacts-keyring。 有关详细信息,请参阅用法要求