使用 Python 包索引的包(PyPI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Artifacts,开发人员可以从 Azure Artifacts 源和外部注册表(例如 PyPI.org)发布和使用包。通过启用上游源,可以简化包管理,使用单个源来管理自己的包和从公共注册表使用的包。 启用后,Azure Artifacts 会自动从上游源保存协作者或更高版本安装的任何包的副本。 本文将指导你设置项目并使用命令行有效使用 PyPI 中的 Python 包。
本文将指导如何进行以下操作:
- 为源启用上游源
- 将 PyPI 添加为上游源
- 设置项目
- 从 Python 包索引安装包
先决条件
创建新源时启用上游源
如果尚未创建源,请按照以下步骤创建新源。 请确保选中上游源的框以启用上游源。 如果已有源,请跳到 下一步 ,将 PyPI 添加为上游源。
登录到 Azure DevOps 组织,并导航到你的项目。
选择 “项目”,然后选择“创建源” 以创建新源 。
输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 指定源的范围,然后选中上游源复选框以包含公共注册表中的包。
完成操作后,选择“创建”。
将 PyPI 添加为新的上游源
如果在创建源期间选中了上游源复选框,则 PyPI 应自动作为上游源包含在内。 如果没有,可以按照以下步骤手动添加它:
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择齿轮图标
以导航到“源设置”。
选择上游源,然后选择“添加上游”以添加新的上游源。
选择“公共源”,然后从下拉菜单中选择“PyPI”(https://pypi.org/)。
完成后,选择“添加”,然后选择右上角的“保存”以保存更改。
使用源进行身份验证
请确保已下载 Python,然后运行以下命令来升级 Python 包管理器:
python -m pip install --upgrade pip
运行以下命令以安装 Azure Artifacts 密钥器:
pip install keyring artifacts-keyring
使用打包>读取范围创建个人访问令牌,以便通过 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 安装包
现在,我们已将项目配置为使用源进行身份验证,接下来可以从 PyPI 上游开始安装包。 在此示例中,我们将安装 Flask
:
在命令提示符窗口中,导航到项目文件夹并运行以下命令以激活虚拟环境。 将占位符替换为前面创建的虚拟环境的名称:
<YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
运行以下命令来检查虚拟环境中安装的包:
pip list
运行以下命令以安装 Flask。
pip install -U Flask
安装包后,Azure Artifacts 会将此包的副本保存到源。 程序包应在源中可用,如以下屏幕截图所示。