Almacenar 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, a continuación, instalarlo.
Antes de empezar
- 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.
-
Verify 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 Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify 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 Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
Ve a la Google Cloud consola.
En la barra de herramientas de la consola Google Cloud , haz clic en Activar Cloud Shell:
.
Ejecuta el siguiente comando para crear un 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 ha creado el repositorio:
gcloud artifacts repositories list
Para simplificar los comandos de
gcloud
, define el repositorio predeterminado comoquickstart-python-repo
y la ubicación predeterminada comous-central1
. Una vez definidos los valores, no es necesario especificarlos en los comandosgcloud
que requieran un repositorio o una ubicación.Para definir el repositorio, ejecuta el comando:
gcloud config set artifacts/repository quickstart-python-repo
Para definir la ubicación, ejecuta el comando:
gcloud config set artifacts/location us-central1
Para obtener más información sobre estos comandos, consulta la documentación de gcloud config set.
- Genera credenciales de usuario para ADC. En un entorno de producción, debes usar una cuenta de servicio y proporcionar las credenciales con la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
. - Incluya la URL del repositorio de Artifact Registry en los comandos
pip
ytwine
para no tener que configurar pip y Twine con la URL del repositorio. Crea una carpeta de proyecto de Python llamada
python-quickstart
.mkdir python-quickstart
Crea un subdirectorio llamado
dist
y, a continuación, cambia al directorio.mkdir python-quickstart/dist cd python-quickstart/dist
Descarga los paquetes de Python de ejemplo que se usan en el tutorial de la guía del usuario de empaquetado de Python Empaquetar proyectos de Python.
pip download sampleproject
El comando descarga el paquete
sampleproject
y su dependencia,peppercorn
.En el directorio
dist
, cambia al directorio principalpython-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 localiza twine y ejecuta el comando. Si el comandotwine
está en la ruta del sistema, puedes ejecutarlo sinpython3 -m
.Para eliminar el repositorio
quickstart-python-repo
, ejecuta el siguiente comando:gcloud artifacts repositories delete quickstart-python-repo
Si quieres quitar los ajustes predeterminados de repositorio y ubicación que has configurado para la configuración
gcloud
activa, ejecuta los siguientes comandos:gcloud config unset artifacts/repository gcloud config unset artifacts/location
- Más información sobre cómo configurar la autenticación
- Información sobre cómo gestionar repositorios
- Información sobre cómo gestionar paquetes
- Consulta nuestros recursos sobre DevOps y descubre nuestro programa de investigación.
Abrir Cloud Shell
En esta guía de inicio rápido, usarás Cloud Shell, un entorno de shell para gestionar recursos alojados enGoogle Cloud.
Cloud Shell tiene preinstaladas la CLI de Google Cloud y Python. La CLI de gcloud proporciona la interfaz de línea de comandos principal de Google Cloud.
Abre Cloud Shell:
Se abrirá una sesión de Cloud Shell en un marco de la parte inferior de la consola.
Esta shell se usa para ejecutar comandos gcloud
.
Instalación de los paquetes necesarios
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 gestionar 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 Autenticación con llavero.
Para instalar Twine, ejecuta el comando:
pip install twine
Ya puedes configurar Artifact Registry.
Crear un repositorio
Crea el repositorio de tus paquetes.
Configurar la autenticación
El backend del llavero de Artifact Registry busca tus credenciales mediante las credenciales predeterminadas de la aplicación (ADC), una estrategia que busca credenciales en tu entorno.
En esta guía de inicio rápido, aprenderás a hacer lo siguiente:
Para generar credenciales para ADC, ejecuta el siguiente comando:
gcloud auth application-default login
Para obtener información sobre los métodos de autenticación y cómo añadir repositorios a la configuración de pip y Twine, consulta Configurar la autenticación en repositorios de paquetes de Python.
Obtener un paquete de ejemplo
Cuando compilas un proyecto de Python, los archivos de distribución se guardan en un subdirectorio dist
del proyecto de Python. Para simplificar esta guía de inicio rápido, descargarás archivos de paquetes precompilados.
Sube el paquete al repositorio.
Usa Twine para subir tus paquetes a tu repositorio.
Twine sube tanto sampleproject
como peppercorn
a tu repositorio.
Ver el paquete en el repositorio
Para verificar que se ha añadido el paquete, enumera los paquetes del 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
Donde PACKAGE es el ID del paquete.
Instalar 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
Solución de problemas
De forma predeterminada, herramientas como pip y Twine no devuelven mensajes de error detallados.
Si se produce 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.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Antes de quitar el repositorio, asegúrate de que los paquetes que quieras conservar estén disponibles en otra ubicación.
Para eliminar el repositorio, sigue estos pasos: