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

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Con Azure Artifacts, los desarrolladores pueden publicar y consumir paquetes de fuentes de Azure Artifacts y registros externos, como pypi.org. Este artículo le guiará a través de la configuración del proyecto y el uso de la línea de comandos para consumir eficazmente paquetes de Python desde PyPI.

En este artículo, aprenderá a:

  • Habilitación de orígenes ascendentes para la fuente
  • Adición de PyPI como origen ascendente
  • Configuración del proyecto
  • Instalación de paquetes desde el índice de paquetes de Python

Requisitos previos

  • Una organización de Azure DevOps y un proyecto. Cree una organización o un proyecto si aún no lo ha hecho.

  • Una fuente de Azure Artifacts.

  • Descargue Python.

Habilitación de orígenes ascendentes

Si aún no ha creado una fuente, siga los pasos que se indican a continuación para crear una nueva. Asegúrese de activar la casilla de orígenes ascendentes para habilitar orígenes ascendentes. Si ya tiene una fuente, vaya al paso siguiente para agregar PyPI como origen ascendente.

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione Crear fuente para crear una nueva fuente.

  3. Escriba un nombre descriptivo para la fuente y defina su visibilidad (que indica quién puede ver los paquetes dentro de la fuente). Especifique el ámbito de la fuente y active la casilla Orígenes ascendentes para incluir paquetes de registros públicos.

  4. Seleccione Crear cuando haya terminado.

    A screenshot showing how to create a need feed.

Adición de PyPI ascendente

Si seleccionó la casilla orígenes ascendentes durante la creación de la fuente, PyPI debería haberse incluido automáticamente como origen ascendente. Si no es así, puede agregarlo manualmente siguiendo estos pasos:

  1. Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione el iconogear iconde engranaje para ir a Feed Configuración (Fuente Configuración).

  3. Seleccione Orígenes ascendentes y, a continuación, seleccione Agregar ascendente para agregar un nuevo origen ascendente.

  4. Seleccione Origen público y, después, PyPI (https://pypi.org/) en el menú desplegable.

  5. Seleccione Guardar cuando haya terminado y, a continuación, seleccione Guardar una vez más en la esquina superior derecha para guardar los cambios.

Autenticación con la fuente

  1. Asegúrese de haber descargado Python y, a continuación, 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 el ámbito de lectura de empaquetado>para autenticarse con Azure DevOps. La primera vez que se conecte a Azure DevOps, deberá escribir sus credenciales cuando se le solicite. Proporcione el nombre de usuario (cualquier cadena) y el token de acceso personal en los campos designados. Estas credenciales se almacenarán en caché localmente y se usarán automáticamente para iniciar sesión la próxima vez que use el servicio.

  4. Vaya a la carpeta del proyecto y ejecute el siguiente comando para crear un nuevo entorno virtual:

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Cree un nuevo archivo pip.ini (Windows) o un archivo pip.conf (Mac/Linux) en el entorno virtual y, a continuación, pegue el siguiente fragmento de código en el archivo. Asegúrese de reemplazar los marcadores de posición por la información adecuada y tenga cuidado de no confirmar este archivo en un repositorio público, ya que contiene el token de acceso personal.

    • Fuente 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/
      
    • Fuente con ámbito de la organización:

      [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 hemos configurado nuestro proyecto para autenticarse con nuestra fuente, podemos empezar a instalar paquetes desde el nivel superior de PyPI. En este ejemplo, instalaremos Flask:

  1. En una ventana del símbolo del sistema, vaya a la carpeta del proyecto y ejecute el siguiente comando para activar el entorno virtual. Reemplace el marcador de posición por el nombre del entorno virtual que creó anteriormente:

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. Ejecute el comando siguiente para comprobar los paquetes instalados en el entorno virtual:

    pip list
    
  3. Ejecute el siguiente comando para instalar Flask.

    pip install -U Flask
    
  4. Una vez instalado el paquete, Azure Artifacts guardará una copia de este paquete en la fuente. El paquete debe estar disponible en la fuente, como se muestra en la captura de pantalla siguiente.

    A screenshot showing packages installed from PyPI upstream.