Configurar y usar pip con CodeArtifact - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar y usar pip con CodeArtifact

pip es el instalador de paquetes para los paquetes de Python. Para usar pip para instalar paquetes de Python desde su repositorio de CodeArtifact, primero debe configurar el cliente pip con la información y las credenciales de su repositorio de CodeArtifact.

pip solo se puede usar para instalar paquetes de Python. Para publicar paquetes de Python, puede usar twine. Para obtener más información, consulte Configurar y usar twine con CodeArtifact.

Configure pip con el comando login

En primer lugar, configure sus credenciales de AWS para usarlas con AWS CLI, tal y como se describe en Introducción a CodeArtifact. A continuación, utilice el comando login de CodeArtifact para obtener las credenciales y configurar pip con ellas.

nota

Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir --domain-owner. Para obtener más información, consulte Dominios entre cuentas.

Ejecute el siguiente comando para configurar pip.

aws codeartifact login --tool pip --domain my_domain --domain-owner 111122223333 --repository my_repo

login obtiene un token de autorización de CodeArtifact con sus credenciales de AWS. El comando login configurará pip para su uso con CodeArtifact editando ~/.config/pip/pip.conf para configurar index-url como el repositorio especificado por la opción --repository.

El período de autorización predeterminado después de una llamada login es de 12 horas y login debe invocarse para actualizar periódicamente el token. Para obtener más información sobre el token de autorización creado con el comando login, consulte Tokens creados con el comando login.

Configurar pip sin el comando login

Si no puede usar el comando login para configurar pip, puede usar pip config.

  1. Use AWS CLI para obtener un nuevo token de autorización.

    nota

    Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir el --domain-owner. Para obtener más información, consulte Dominios entre cuentas.

    CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  2. Use pip config para configurar la URL y las credenciales del registro de CodeArtifact. El siguiente comando actualizará únicamente el archivo de configuración del entorno actual. Para actualizar el archivo de configuración de todo el sistema, sustituya site por global.

    pip config set site.index-url https://aws:$CODEARTIFACT_AUTH_TOKEN@my_domain-111122223333.d.codeartifact.region.amazonaws.com/pypi/my_repo/simple/
    nota

    Si quiere utilizar un punto de conexión de pila doble, use el punto de conexión codeartifact.region.on.aws.

importante

La URL de registro debe terminar con una barra diagonal (/). De lo contrario, no puede conectarse al repositorio.

Ejemplo de archivo de configuración de pip

El siguiente es un ejemplo de un archivo pip.conf después de configurar la URL y las credenciales del registro de CodeArtifact.

[global] index-url = https://aws:eyJ2ZX...@my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/simple/

Ejecutar pip

Para ejecutar comandos pip, debe configurar pip con CodeArtifact. Para obtener más información, consulte la documentación siguiente.

  1. Siga los pasos de la sección Configuración con AWS CodeArtifact para configurar su cuenta de AWS, sus herramientas y sus permisos.

  2. Configure twine siguiendo los pasos que se describen en Configurar y usar twine con CodeArtifact.

Suponiendo que un paquete esté presente en su repositorio o en uno de sus repositorios ascendentes, puede instalarlo con pip install. Por ejemplo, utilice el siguiente comando para instalar el paquete requests.

pip install requests

Use la opción -i para volver temporalmente a instalar paquetes desde https://pypi.org en lugar de desde su repositorio de CodeArtifact.

pip install -i https://pypi.org/simple requests