快速入门:使用命令行通过 Azure Artifacts 发布和使用 Python 包(CLI)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本快速入门介绍如何创建 Azure Artifacts 源,并使用源从本地开发环境中的命令行发布和使用 Python 包。 完成后,已将 Python 包发布到源,并从源安装到本地开发环境。
若要在 Azure Pipelines 中发布和使用包,请参阅 使用 Azure Pipelines 发布 Python 包。
先决条件
若要运行以下步骤,必须具备:
创建本地 Python 包
需要一个 Python 包才能发布到源。 如果没有要发布的包,可以从 GitHub 克隆示例 Python 包。
克隆示例 Python 包
使用以下步骤从 GitHub 使用示例 Python 包。
转到以下 GitHub 存储库:
https://github.com/microsoft/python-package-template
在 GitHub 帐户中创建存储库分支。
转到分支存储库,然后选择“ 代码”。
复制分叉存储库的 URL。
在本地计算机上的 CLI 中,使用从分支存储库复制的 URL,使用以下命令克隆存储库:
git clone <REPOSITORY_URL>
将目录更改为克隆的存储库。
cd python-package-template
生成包
若要生成 wheel 和源分发,请在项目目录中运行以下命令:
pip install --upgrade build
python -m build
如果 Python 项目有文件 setup.py
,可以使用以下命令生成包:
python setup.py sdist bdist_wheel
创建源
登录到 Azure DevOps 组织,然后转到项目。
选择“项目”,然后选择“创建源”。
输入源的以下信息:
- 输入源的描述性 名称 。
- 定义其 可见性 (指示谁可以查看源中的包)。
- 选择是否使用来自公共源的包,例如 pypi.org。
- 指定源的范围。
选择创建。
转到 Azure DevOps 集合,选择项目。
选择“项目”,然后选择“创建源”。
输入源的以下信息:
- 输入源的描述性 名称 。
- 定义其 可见性 (指示谁可以查看源中的包)。
- 选择是否使用来自公共源的包,例如 pypi.org。
- 指定源的范围。
选择创建。
转到 Azure DevOps 集合,选择项目。
选择 “项目”,然后选择“创建源” 以创建新源 。
输入源的以下信息:
- 输入源的描述性 名称 。
- 定义其 可见性 (指示谁可以查看源中的包)。
- 选择是否使用来自公共源的包,例如 pypi.org。
- 指定源的范围。
选择创建。
转到 Azure DevOps 集合,选择项目。
选择 “项目”,然后选择“创建源” 以创建新源 。
输入源的以下信息:
- 输入源的描述性 名称 。
- 定义其 可见性 (指示谁可以查看源中的包)。
- 选择是否使用来自公共源的包,例如 pypi.org。
选择创建。
将包发布到源
使用孪生将包上传到 Azure Artifacts 源。
转到 Azure DevOps 项目并选择“ 项目”。
选择源并选择连接源。
选择 Python 部分下的孪生体。
在开发计算机上,确保已安装孪生体。
pip install --upgrade twine
按照“项目设置”部分中的说明设置
.pypirc
文件。为了避免每次发布包时都需要输入个人访问令牌,可以将凭据添加到
.pypirc
文件中。 确保不会将个人访问令牌检查到公共存储库中。.pypirc
包含凭据的文件示例:[distutils] Index-servers = <FEED_NAME> [<FEED_NAME>] Repository = <FEED_URL> username = <FEED_NAME> password = <YOUR_PERSONAL_ACCESS_TOKEN>
若要上传包,请在项目目录中运行以下命令,将 <F企业版D_NAME>替换为源名称。 在 Windows 上,可能需要使用
--config-file
参数指定.pypirc
文件位置。twine upload --repository <FEED_NAME> dist/*
从源安装包
转到 Azure DevOps 项目并选择“ 项目”。
选择源并选择连接源。
选择 Python 部分下的 pip。
准备本地 Python 环境。
确保 pip 已安装并更新:
python -m pip install --upgrade pip
创建和激活 Python 虚拟环境:
python -m venv myenv myenv/Scripts/activate
将 pip.ini (Windows)或 pip.conf (Mac/Linux)文件添加到虚拟环境的根目录。 从连接的“项目设置”部分复制内容以馈送对话框,并将其添加到pip.ini或 pip.conf 文件。
若要避免每次从源安装包时输入个人访问令牌,可以将凭据添加到 pip.ini 或 pip.conf 文件。 请确保不要将个人访问令牌检查到公共存储库。
包含凭据的 pip.ini 或 pip.conf 文件的示例:
[global] extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
若要安装包,请运行以下命令,将PACKAGE_NAME>替换为<源中的包名称。
pip install <PACKAGE_NAME>
清理资源
完成创建的资源后,可以将其删除,以避免产生费用。 删除项目时,会删除其所有项目级别项目源。
删除项目:
- 选择“项目设置”。
- 在 “项目详细信息 ”页上,选择页面底部的“ 删除 ”。
- 输入要确认的项目的名称,然后选择“ 删除”。
如果只想删除源:
- 选择 “项目” ,然后从下拉菜单中选择源。
- 选择“设置”按钮。
- 在“源设置”选项卡中,选择“删除源”。
- 选择“删除”以确认。
清理本地开发环境:
若要停用虚拟环境,请运行以下命令:
deactivate
若要删除虚拟环境,请删除创建虚拟环境的目录。
.pypirc
从主目录中删除该文件。
如果克隆了示例 Python 包,可以从本地计算机和 GitHub 帐户中删除存储库。