Consumir paquetes del índice de paquetes de Python (PyPI)

Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Azure Artifacts permite a los desarrolladores usar una sola fuente para hospedar sus propios paquetes, así como paquetes instalados desde registros públicos, como PyPI.org. Cuando los orígenes ascendentes están habilitados, Azure Artifacts guarda automáticamente una copia de cualquier paquete instalado desde un origen ascendente por un colaborador o superior. En este artículo se explica cómo configurar el proyecto y usar la línea de comandos para consumir paquetes de Python desde el índice de paquetes de Python (PyPI).

Requisitos previos

Producto Requisitos
Azure DevOps - Una organización de Azure DevOps .
- Un proyecto de Azure DevOps .
- Descargue e instale Python.

Creación de una nueva fuente y adición de subidas públicas

Si aún no tiene una fuente, siga los pasos que se indican a continuación para crear una y habilitar fuentes ascendentes. De lo contrario, vaya al paso siguiente para agregar PyPI como fuente de origen ascendente.

  1. Inicie sesión en Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, después, Crear Feed.

  3. Escriba un nombre descriptivo para la fuente y establezca su visibilidad. Especifique el ámbito y active la casilla Orígenes ascendentes para incluir paquetes de registros públicos.

  4. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra cómo crear un feed necesario y habilitar fuentes ascendentes en Azure Artifacts.

Adición de la fuente principal de PyPI

Si ha habilitado Orígenes ascendentes al crear su flujo, PyPI se ha agregado automáticamente como origen ascendente. De lo contrario, puede agregarlo manualmente siguiendo estos pasos:

  1. Inicie sesión en Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione el icono de engranaje para abrir Configuración del feed.

  3. Seleccione Orígenes ascendentes y, después, Agregar origen ascendente.

  4. Seleccione Origen público y, a continuación, elija PyPI (https://pypi.org/) en la lista desplegable.

  5. Seleccione Agregar y, a continuación, seleccione Guardar en la esquina superior derecha para aplicar los cambios.

Autenticación con la fuente

Asegúrese de que ha instalado Python del listado de requisitos previos y siga estos pasos para conectarse a tu fuente:

  1. Ejecute el siguiente comando para actualizar el administrador de paquetes de Python:

    python -m pip install --upgrade pip
    
  2. Ejecute el siguiente comando para instalar el keyring de Azure Artifacts:

    pip install keyring artifacts-keyring
    
  3. Cree un token de acceso personal con Paquete>Lectura para autenticarse con Azure DevOps. La primera vez que se conecte a Azure DevOps, se le pedirán credenciales. Escriba cualquier valor para el nombre de usuario y use su PAT como contraseña. Estas credenciales se almacenan en caché localmente y se reutilizan la próxima vez que se autentique.

  4. Vaya al directorio del proyecto y cree un entorno virtual:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. En el entorno virtual, cree un archivo pip.ini (Windows) o un archivo pip.conf (macOS/Linux) y agregue el siguiente fragmento de código. Reemplace los marcadores de posición por los valores devueltos adecuados. No comprometa este archivo a un repositorio público, ya que contiene su token de acceso personal.

    • Canal de información con ámbito de proyecto:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • Feed de ámbito organizacional:

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

Instalación de paquetes desde PyPI

Ahora que se ha autenticado con su feed de datos, puede instalar paquetes desde el repositorio upstream de PyPI como lo haría normalmente con pip. Cualquier paquete que instales se guarda automáticamente en tu fuente de Azure Artifacts.

En este ejemplo, instalará solicitudes, una biblioteca HTTP popular para Python.

Nota:

Para guardar paquetes de fuentes ascendentes, debe tener el rol Feed and Upstream Reader (Colaborador) o superior. Consulte Administración de permisos para obtener más detalles.

  1. Abra una terminal de comandos y navegue al directorio de su proyecto, para luego activar su entorno virtual. Reemplace el marcador de posición por el nombre del entorno virtual que creó anteriormente:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate
    
  2. Ejecute el siguiente comando para instalar el paquete de solicitudes desde PyPI.

    pip install requests
    
  3. Una vez completada la instalación, Azure Artifacts guarda una copia del paquete en tu flujo. Acceda a su feed para verificar que el paquete esté disponible, como se muestra en la captura de pantalla siguiente.

    Captura de pantalla que muestra el paquete de solicitudes instalado desde PyPI ascendente.