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 en Artifact Registry, subir un paquete y, luego, instalarlo.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Artifact Registry.

    Habilita la API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita la API de Artifact Registry.

    Habilita la API

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 en Google Cloud.

Cloud Shell viene preinstalado con Google Cloud CLI y Python. La gcloud CLI proporciona la interfaz de línea de comandos principal para Google Cloud.

Iniciar Cloud Shell:

  1. Ve a la consola de Google Cloud.

    Consola de Google Cloud

  2. En la barra de herramientas de la consola de Google Cloud, 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 claves de Artifact Registry para administrar la autenticación con Artifact Registry. Si creas un entorno virtual o configuras Python fuera de Cloud Shell, debes instalar el backend del llavero de claves para la autenticación. Para obtener más detalles, consulta Cómo realizar la autenticación con llavero de claves.

Para instalar Twine, ejecuta el comando:

pip install twine

Ya está todo listo para configurar Artifact Registry.

Crear un repositorio

Crea el repositorio para tus paquetes.

  1. Ejecuta el siguiente comando para crear un nuevo repositorio de paquetes de Python en el proyecto actual llamado quickstart-python-repo en la ubicación us-central1.

    gcloud artifacts repositories create quickstart-python-repo \
        --repository-format=python \
        --location=us-central1 \
        --description="Python package repository"
    
  2. Ejecuta el siguiente comando para verificar que se haya creado el repositorio:

    gcloud artifacts repositories list
    
  3. Para simplificar los comandos de gcloud, configura el repositorio predeterminado como quickstart-python-repo y la ubicación predeterminada como us-central1. Una vez configurados los valores, no necesitas especificarlos en los comandos de gcloud 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 claves de Artifact Registry busca 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 y twine para que no tengas que configurar pip y Twine con la URL del repositorio.

A fin de generar credenciales para 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 pip y la configuración de Twine, consulta Configura 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 en tu proyecto de Python. Para simplificar esta guía de inicio rápido, descargarás archivos de paquetes compilados previamente.

  1. Crea una carpeta del proyecto de Python llamada python-quickstart.

    mkdir python-quickstart
    
  2. Crea un subdirectorio llamado dist y, luego, cambia al directorio.

    mkdir python-quickstart/dist
    cd python-quickstart/dist
    
  3. Descarga los paquetes de Python de muestra que se usan en el instructivo Empaqueta proyectos de Python de la guía del usuario de paquetes de Python.

    pip download sampleproject
    

    El comando descarga el paquete sampleproject y su dependencia, peppercorn.

Sube el paquete al repositorio

Usa Twine para cargar tus paquetes en tu repositorio.

  1. Desde el directorio dist, cambia al directorio superior python-quickstart.

    cd ..
    
  2. 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 comando twine está en la ruta de tu sistema, puedes ejecutarlo sin python3 -m.

Twine sube sampleproject y peppercorn a tu repositorio.

Visualiza el paquete en el repositorio

Para verificar que se agregó 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, las 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 para paquetes de Python a fin de 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 se usaron 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:

  1. Para borrar el repositorio quickstart-python-repo, ejecuta el siguiente comando:

    gcloud artifacts repositories delete quickstart-python-repo
    
  2. 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?