Azure Artifacts 中的 Python 包入门

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

本指南将指导你使用 Azure Artifacts 在源中发布和使用 Python 包。

创建源

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

    创建源按钮

  2. 为源指定 名称 并选择其 可见性 (谁可以查看此源) 、 上游源范围 (项目范围或组织范围的) 设置中的包。

    “新建源”对话框

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

注意

默认情况下,创建新源时, 项目集合生成服务 (组织范围的) ,项目级 生成服务 (项目范围的) 设置为 协作者

Azure Artifacts 预安装在 TFS 2018 中。 如果这是首次使用源,系统可能会要求 你分配许可证

  1. 转到 “生成 & 版本 ”并选择“ ”。

    转到 Azure Artifacts TFS

  2. 选择 “+ 新建源”。

    “新建源”按钮 TFS

  3. 为源提供 名称说明并设置 谁可以阅读谁可以参与 以及是否要 包括外部包

    “新建源”对话框 TFS

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

连接到源

可通过两种主要方法连接到源以发布或使用 Python 包:

  1. 安装和使用 artifacts-keyring 包,该包会自动为你设置身份验证。
  2. 手动为 pip.ini/pip.conf 设置推送凭据,使用个人访问令牌 (PAT) 进行拉取的 .pypirc

注意

较新版本的 Ubuntu 不支持 artifacts-keyring

使用 artifacts-keyring 设置身份验证

项目 密钥包 允许你设置身份验证,以在源中发布和使用 Python 包。 piptwine 都使用 Python 密钥环库查找凭据。

重要

必须使用 pip 19.2 和 twine 1.13.0 或更高版本才能使用 artifacts-keyring

  1. 在提升的命令提示符窗口中,运行以下命令以安装 artifacts-keyring 包:

    pip install artifacts-keyring
    
  2. 从源安装包。

    pip install <package-name> --index-url https://pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/simple
    
  3. 将包发布到源。

    twine upload --repository-url https://pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/upload
    

注意

项目密钥包分层在我们的 Azure Artifacts 凭据提供程序之上。 有关更高级的配置选项,请查看 artifacts-credprovider 存储库。

手动配置身份验证

  1. 使用打包>读取范围创建个人访问令牌,以在 Azure DevOps 中进行身份验证。

  2. 从源中,选择“ 连接到源”。

    “连接到源”按钮

  3. 选择 Python 标头下的 pip

    选择要连接到源的 pip

  4. 请确保已从“获取工具”菜单安装最新版本的 Azure Artifacts 密钥环

    注意

    Artifacts-keyring 包提供用于在 Azure Artifacts 源中发布和使用 Python 包的身份验证。

  5. 创建 virtualenv(如果还没有虚拟)。

  6. 将 pip.ini (Windows) 或 pip.conf (Mac/Linux) 文件添加到 virtualenv。 请确保不要将个人访问令牌签入公共存储库。

    [global]
    extra-index-url=https://<your-feed-name>:<your-PAT-key>@pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/simple/
    
  7. 运行以下命令以安装包

    pip install <package-name>
    

首次连接到 Azure DevOps 时,系统会提示输入凭据。 在相应的字段中输入用户名 (任何字符串) 和个人访问令牌。 凭据将在本地缓存,用于下次使用服务时自动登录。

注意

如果要在 Azure Pipelines 中设置身份验证,请使用 Python Pip 身份验证 任务来安装包,或者 使用 Python 孪生上传身份验证 任务推送包。