Compartir a través de


Publicación y descarga de paquetes de Python con Azure Artifacts

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

Con Azure Artifacts, puede publicar y descargar paquetes de fuentes y registros públicos, como PyPi. Este inicio rápido le dirige en la creación de un flujo, la configuración del proyecto y la administración de paquetes de Python en su flujo de Azure Artifacts.

Prerrequisitos

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

Obtención del código

  1. Si no tiene su propio proyecto de Python, puede usar el siguiente proyecto de Python de ejemplo. De lo contrario, puede ir directamente a la sección siguiente:

    https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world
    
  2. Para compilar la distribución de wheel y origen, ejecute los siguientes comandos en el directorio de su proyecto:

    pip install --upgrade build
    python -m build
    
  3. Si el proyecto de Python tiene un archivo setup.py , también puede compilar el paquete mediante:

    python setup.py sdist bdist_wheel
    

Creación de una fuente

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

  2. Seleccione Artefactos y, a continuación, Crear feed.

  3. Proporcione un Nombre para la fuente, elija la opción Visibilidad que define quién puede ver los paquetes, active Incluir paquetes de orígenes públicos comunes si desea incluir paquetes de orígenes como nuget.org o npmjs.com, y para Ámbito, decida si la fuente debe tener ámbito para el proyecto o toda la organización.

  4. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra las selecciones para crear una nueva fuente en Azure DevOps Services.

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

  2. Seleccione Artefactos y, a continuación, Crear feed.

  3. Proporcione un Nombre para la fuente, elija la opción Visibilidad que define quién puede ver los paquetes, active Incluir paquetes de orígenes públicos comunes si desea incluir paquetes de orígenes como nuget.org o npmjs.com, y para Ámbito, decida si la fuente debe tener ámbito para el proyecto o toda la organización.

  1. Seleccione Crear cuando haya terminado.

    Captura de pantalla que muestra las selecciones para crear una nueva fuente en Azure DevOps 2022.

Nota

De forma predeterminada, el servicio de compilación del proyecto (por ejemplo: projectName Build Service (orgName)) tiene asignado el rol Lector de fuente y lector ascendente (colaborador) cuando se crea una nueva fuente.

Conexión a la fuente

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

  2. Seleccione Artefactos, seleccione su fuente en el menú desplegable y, a continuación, seleccione Conectar a la fuente.

  3. En la sección Python , seleccione Twine.

  4. Si es la primera vez que usa Azure Artifacts con Twine, seleccione Obtener las herramientas y siga las instrucciones para descargar Python e instalar Twine y el Keyring de artefactos.

  5. Cree un archivo pypirc en el directorio principal y pegue el fragmento de código proporcionado en la sección Configuración del proyecto . El archivo debe tener este aspecto:

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Nota

Si el archivo .pypirc ya incluye credenciales para el índice de PyPI público, se recomienda quitar la [pypi] sección para evitar la publicación accidental de paquetes privados en PyPI.

Publica paquetes en tu feed

  1. Ejecute los siguientes comandos en el directorio del proyecto para crear distribuciones de origen y wheel:

    python setup.py sdist bdist_wheel
    
    
  2. Para publicar el paquete, use el comando siguiente. Asegúrese de usar la marca FEED_NAME -r para evitar la publicación accidental en PyPI:

    twine upload -r <FEED_NAME> dist/*
    

Instale paquetes desde su fuente

  1. Para instalar paquetes desde tu feed, ejecute el siguiente comando dentro del directorio de su proyecto.

    pip install
    
  2. Para instalar un paquete específico, reemplace el marcador de posición por el nombre del paquete en su feed.

    pip install <PACKAGE_NAME>