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. Al habilitar los orígenes ascendentes, puede simplificar la administración de paquetes mediante una sola fuente para administrar sus propios paquetes y los consumidos desde registros públicos. Una vez habilitado, Azure Artifacts guarda automáticamente una copia de cualquier paquete instalado por un colaborador o superior desde un origen ascendente. 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 al crear una nueva fuente
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.
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione Crear fuente para crear una nueva fuente.
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.
Seleccione Crear cuando haya terminado.
Adición de PyPI como un nuevo origen 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:
Inicie sesión en su organización de Azure DevOps y vaya a su proyecto.
Seleccione Artefactos y, a continuación, seleccione el icono de engranaje para ir a Configuración de fuente.
Seleccione Orígenes ascendentes y, a continuación, seleccione Agregar ascendente para agregar un nuevo origen ascendente.
Seleccione Origen público y, después, PyPI (https://pypi.org/) en el menú desplegable.
Seleccione Agregar cuando haya terminado y, a continuación, seleccione Guardar en la esquina superior derecha para guardar los cambios.
Autenticación con la fuente
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
Ejecute el siguiente comando para instalar el keyring de Azure Artifacts:
pip install keyring artifacts-keyring
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.
Vaya a la carpeta del proyecto y ejecute el siguiente comando para crear un nuevo entorno virtual:
python -m venv <VIRTUAL_ENVIRONMENT_NAME>
Cree un nuevo archivo de 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
:
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
Ejecute el comando siguiente para comprobar los paquetes instalados en el entorno virtual:
pip list
Ejecute el siguiente comando para instalar Flask.
pip install -U Flask
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.