在 Artifact Registry 中存储 Python 软件包
本快速入门介绍了如何设置私有 Artifact Registry Python 代码库、上传软件包,然后安装该软件包。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Artifact Registry API.
启动 Cloud Shell
在本快速入门中,您将使用 Cloud Shell,这是一个用于管理 Google Cloud 上托管资源的 Shell 环境。
Cloud Shell 预装了 Google Cloud CLI 和 Python。gcloud CLI 提供 Google Cloud 界面
启动 Cloud Shell:
转到 Google Cloud 控制台。
在 Google Cloud 控制台工具栏中,点击激活 Cloud Shell:
控制台下方的框架内会打开一个 Cloud Shell 会话。您可以使用此 shell 运行 gcloud
命令。
安装必需的软件包
Twine 是用于发布 Python 软件包的工具。您将使用 Twine 将软件包上传到 Artifact Registry。
在本快速入门中,您将使用 Cloud Shell。此默认安装包括 Artifact Registry 密钥环后端: 使用 Artifact Registry 来处理身份验证如果您创建了 虚拟环境或 Cloud Shell,您必须安装密钥环后端以进行身份验证。 如需了解详情,请参阅使用密钥串进行身份验证。
如需安装 Twine,请运行以下命令:
pip install twine
您现在可以设置 Artifact Registry 了。
创建代码库
为软件包创建代码库。
运行以下命令,在位置
us-central1
中名为quickstart-python-repo
的当前项目中创建一个新的 Python 软件包代码库。gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"
运行以下命令确认已创建代码库:
gcloud artifacts repositories list
为了简化
gcloud
命令,请将默认代码库设置为quickstart-python-repo
,并将默认位置设置为us-central1
。设置以上值之后,您无需在需要代码库或位置的gcloud
命令中指定这些值。如需设置代码库,请运行以下命令:
gcloud config set artifacts/repository quickstart-python-repo
如需设置位置,请运行以下命令:
gcloud config set artifacts/location us-central1
如需详细了解这些命令,请参阅 gcloud config set 文档。
配置身份验证
Artifact Registry 密钥库后端使用应用默认凭据 (ADC) 策略查找您的凭据,该策略会在您的环境中查找凭据。
在本快速入门中,您将执行以下操作:
- 为 ADC 生成用户凭据。生产中
您应使用服务账号并提供
GOOGLE_APPLICATION_CREDENTIALS
环境变量。 - 在
pip
和twine
命令中添加 Artifact Registry 代码库网址 这样您就无需使用代码库配置 pip 和 Twine 网址。
如需为 ADC 生成凭据,请运行以下命令:
gcloud auth application-default login
如需详细了解身份验证方法以及如何向 pip 添加代码库,以及 Twine 配置,请参阅 设置对 Python 软件包代码库的身份验证。
获取示例软件包
构建 Python 项目时,分发文件会保存在 dist
子目录中。为简化本快速入门,您需要
下载预构建的软件包文件。
创建一个名为
python-quickstart
的 Python 项目文件夹。mkdir python-quickstart
创建一个名为
dist
的子目录,然后切换到该目录。mkdir python-quickstart/dist cd python-quickstart/dist
下载 Python 打包用户指南教程 打包 Python 项目中使用的 Python 示例软件包。
pip download sampleproject
该命令会下载
sampleproject
软件包及其依赖项。peppercorn
。
将软件包上传到代码库
使用 Twine 将软件包上传到您的代码库。
从
dist
目录切换到父级python-quickstart
目录。cd ..
将软件包从
dist
目录上传到代码库。python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
当您使用
python3 -m
运行该命令时,Python 会找到 运行该命令。如果twine
命令位于您的系统路径中,您无需python3 -m
即可运行该命令。
Twine 会将 sampleproject
和 peppercorn
上传到您的代码库。
查看代码库中的软件包
如需验证您的软件包是否已添加,请在
quickstart-python-repo
代码库。
运行以下命令:
gcloud artifacts packages list --repository=quickstart-python-repo
如需查看软件包的版本,请运行以下命令:
gcloud artifacts versions list --package=PACKAGE
其中,PACKAGE 是软件包 ID。
安装软件包
运行以下命令安装此软件包:
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
问题排查
默认情况下,pip 和 Twine 等工具不会返回详细的错误消息。如果您遇到错误,请使用 --verbose
标志重新运行该命令,以获取更详细的输出。如需了解详情,请参阅Python 软件包问题排查。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
在移除代码库之前,请确保已在其他位置保存了您要保留的任何软件包。
如需删除代码库,请执行以下操作:
如需删除
quickstart-python-repo
代码库,请运行以下命令:gcloud artifacts repositories delete quickstart-python-repo
如果要移除您为活跃
gcloud
配置配置的默认代码库和位置设置,请运行以下命令:gcloud config unset artifacts/repository gcloud config unset artifacts/location
后续步骤
- 详细了解如何配置身份验证
- 了解如何管理代码库
- 了解如何管理软件包
- 阅读我们关于 DevOps 的资源,并了解我们的研究项目。