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

使用 Azure Artifacts,开发人员可以从 Azure Artifacts 源和外部注册表(例如 PyPI.org)发布和使用包。通过启用上游源,可以简化包管理,使用单个源来管理自己的包和从公共注册表使用的包。 启用后,Azure Artifacts 会自动从上游源保存协作者或更高版本安装的任何包的副本。 本文将指导你设置项目并使用命令行有效使用 PyPI 中的 Python 包。

本文将指导如何进行以下操作:

  • 为源启用上游源
  • 将 PyPI 添加为上游源
  • 从 Python 包索引安装包
  • Azure DevOps 组织和项目。 创建 组织 项目 (如果尚未创建)。

  • Azure Artifacts 源。

  • 下载 Python

    创建新源时启用上游源

    如果尚未创建源,请按照以下步骤创建新源。 请确保选中上游源 的框 以启用上游源。 如果已有源,请跳到 下一步 ,将 PyPI 添加为上游源。

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

  • 选择 “项目 ”,然后选择“创建源” 以创建新源

  • 输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 指定 源的范围,然后选中 上游源 复选框以包含公共注册表中的包。

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

  • 使用 打包 >读取 范围创建个人访问令牌 ,以便通过 Azure DevOps 进行身份验证。 首次连接到 Azure DevOps 时,需要在出现提示时输入凭据。 在指定字段中提供用户名(任何字符串)和个人访问令牌。 这些凭据将在本地缓存,并在下次使用服务时自动用于登录。

  • 导航到项目文件夹,然后运行以下命令以创建新的虚拟环境:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  • 在虚拟环境中创建新的 pip.ini 文件(Windows)或 pip.conf 文件(Mac/Linux),然后将以下代码片段粘贴到文件中。 请确保将占位符替换为适当的信息,并谨慎不要将此文件提交到包含个人访问令牌的公共存储库。

  • 项目范围的源

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
    
  • 组织范围的源

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
    

    现在,我们已将项目配置为使用源进行身份验证,接下来可以从 PyPI 上游开始安装包。 在此示例中,我们将安装 Flask

  • 在命令提示符窗口中,导航到项目文件夹并运行以下命令以激活虚拟环境。 将占位符替换为前面创建的虚拟环境的名称:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  • 运行以下命令来检查虚拟环境中安装的包:

    pip list
    
  • 运行以下命令以安装 Flask

    pip install -U Flask
    
  • 安装包后,Azure Artifacts 会将此包的副本保存到源。 程序包应在源中可用,如以下屏幕截图所示。

  •