Almacena paquetes de Python en Artifact Registry
En esta guía de inicio rápido, se muestra cómo configurar un repositorio privado de Python de Artifact Registry, subir un paquete y, luego, instalarlo.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry API.
-
Make sure that you have the following role or roles on the project: Artifact Registry Administrator
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Grant access.
-
En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.
- En la lista Seleccionar un rol, elige un rol.
- Para otorgar funciones adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.
- Haz clic en Guardar.
-
Inicia Cloud Shell
En esta guía de inicio rápido, usarás Cloud Shell, que es un entorno de shell para administrar recursos alojados enGoogle Cloud.
Cloud Shell ya viene instalado en Google Cloud CLI y Python. Gcloud CLI proporciona la interfaz de línea de comandos principal para Google Cloud.
Iniciar Cloud Shell:
Ve a la consola de Google Cloud .
En la barra de herramientas de la Google Cloud consola, haz clic en Activar Cloud Shell:
Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola.
Usa esta shell para ejecutar los comandos de gcloud
.
Instala los paquetes obligatorios
Twine es una herramienta para publicar paquetes de Python. Usarás Twine para subir un paquete a Artifact Registry.
En esta guía de inicio rápido, usarás la instalación de Python incluida en Cloud Shell. Esta instalación predeterminada incluye el backend del llavero de Artifact Registry para controlar la autenticación con Artifact Registry. Si creas un entorno virtual o configuras Python fuera de Cloud Shell, debes instalar el backend de keyring para la autenticación. Para obtener más información, consulta Cómo autenticarse con keyring.
Para instalar Twine, ejecuta el siguiente comando:
pip install twine
Ahora puedes configurar Artifact Registry.
Crea un repositorio
Crea el repositorio para tus paquetes.
Ejecuta el siguiente comando para crear un nuevo repositorio de paquetes de Python en el proyecto actual llamado
quickstart-python-repo
en la ubicaciónus-central1
.gcloud artifacts repositories create quickstart-python-repo \ --repository-format=python \ --location=us-central1 \ --description="Python package repository"
Ejecuta el siguiente comando para verificar que se haya creado el repositorio:
gcloud artifacts repositories list
Para simplificar los comandos de
gcloud
, configura el repositorio predeterminado comoquickstart-python-repo
y la ubicación predeterminada comous-central1
. Una vez configurados los valores, no necesitas especificarlos en los comandos degcloud
que requieren un repositorio o una ubicación.Para configurar el repositorio, ejecuta el siguiente comando:
gcloud config set artifacts/repository quickstart-python-repo
Para configurar la ubicación, ejecuta el siguiente comando:
gcloud config set artifacts/location us-central1
Para obtener más información sobre estos comandos, consulta la documentación de establecimiento de la configuración de gcloud.
Configura la autenticación
El backend del llavero de Artifact Registry encuentra tus credenciales con las credenciales predeterminadas de la aplicación (ADC), una estrategia que busca credenciales en tu entorno.
En esta guía de inicio rápido, harás lo siguiente:
- Genera credenciales de usuario para ADC. En un entorno de producción, debes usar una cuenta de servicio y proporcionar credenciales con la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
. - Incluye la URL del repositorio de Artifact Registry en los comandos
pip
ytwine
para que no tengas que configurar pip y Twine con la URL del repositorio.
Para generar credenciales para el ADC, ejecuta el siguiente comando:
gcloud auth application-default login
Para obtener detalles sobre los métodos de autenticación y cómo agregar repositorios a la configuración de pip y Twine, consulta Cómo configurar la autenticación en repositorios de paquetes de Python.
Obtén un paquete de ejemplo
Cuando compilas un proyecto de Python, los archivos de distribución se guardan en un subdirectorio dist
de tu proyecto de Python. Para simplificar esta guía de inicio rápido, descargarás archivos de paquetes prediseñados.
Crea una carpeta de proyecto de Python llamada
python-quickstart
.mkdir python-quickstart
Crea un subdirectorio llamado
dist
y, luego, cambia al directorio.mkdir python-quickstart/dist cd python-quickstart/dist
Descarga los paquetes de Python de muestra que se usan en el instructivo de la Guía del usuario de empaquetado de Python Cómo empaquetar proyectos de Python.
pip download sampleproject
El comando descarga el paquete
sampleproject
y su dependencia,peppercorn
.
Sube el paquete al repositorio
Usa Twine para subir tus paquetes al repositorio.
Desde el directorio
dist
, cambia al directorio superiorpython-quickstart
.cd ..
Sube los paquetes al repositorio desde tu directorio
dist
.python3 -m twine upload --repository-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/ dist/*
Cuando ejecutas el comando con
python3 -m
, Python ubica twine y ejecuta el comando. Si el comandotwine
está en la ruta del sistema, puedes ejecutarlo sinpython3 -m
.
Twine sube sampleproject
y peppercorn
a tu repositorio.
Visualiza el paquete en el repositorio
Para verificar que se haya agregado tu paquete, enumera los paquetes en el repositorio quickstart-python-repo
.
Ejecuta el siguiente comando:
gcloud artifacts packages list --repository=quickstart-python-repo
Para ver las versiones de un paquete, ejecuta el siguiente comando:
gcloud artifacts versions list --package=PACKAGE
En el ejemplo anterior, PACKAGE es el ID del paquete.
Instale el paquete
Ejecuta el siguiente comando para instalar el paquete:
pip install --index-url https://us-central1-python.pkg.dev/PROJECT_ID/quickstart-python-repo/simple/ sampleproject
Soluciona problemas
De forma predeterminada, herramientas como pip y Twine no muestran mensajes de error detallados.
Si encuentras un error, vuelve a ejecutar el comando con la marca --verbose
para obtener un resultado más detallado. Consulta Solución de problemas de paquetes de Python para obtener más información.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Antes de quitar el repositorio, asegúrate de que los paquetes que quieres conservar estén disponibles en otra ubicación.
Para borrar el repositorio, haz lo siguiente:
Para borrar el repositorio
quickstart-python-repo
, ejecuta el siguiente comando:gcloud artifacts repositories delete quickstart-python-repo
Si deseas quitar la configuración predeterminada de la ubicación y del repositorio que estableciste para la configuración activa de
gcloud
, ejecuta los siguientes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location
¿Qué sigue?
- Obtén más información para configurar la autenticación.
- Obtén más información para administrar repositorios.
- Obtén más información para administrar paquetes.
- Lee nuestros recursos sobre DevOps y explora nuestro programa de investigación.