

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.

# Configura y usa twine con CodeArtifact
<a name="python-configure-twine"></a>

[twine](https://pypi.org/project/twine/) es una utilidad de publicación de paquetes para paquetes de Python. Para usar twine para publicar paquetes de Python en su CodeArtifact repositorio, primero debe configurar twine con la información y las credenciales de su CodeArtifact repositorio.

twine solo se puede usar para publicar paquetes de Python. Para instalar paquetes de Python, puede usar [pip](https://pypi.org/project/pip/). Para obtener más información, consulte [Configura y usa pip con CodeArtifact](python-configure-pip.md).

## Configurar twine con el comando `login`
<a name="python-configure-twine-login"></a>

En primer lugar, configure sus AWS credenciales para usarlas con AWS CLI, tal y como se describe en. [Introducción a CodeArtifact](getting-started.md) A continuación, utilice el CodeArtifact `login` comando para obtener las credenciales y configurar Twine 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](domain-overview.md#domain-overview-cross-account).

Ejecute el siguiente comando para configurar el hilo.

```
aws codeartifact login --tool twine --domain my_domain --domain-owner 111122223333 --repository my_repo
```

 `login`obtiene un token de autorización mediante el CodeArtifact uso de sus credenciales. AWS El `login` comando configura twine para su uso con credenciales CodeArtifact editándolo `~/.pypirc` para añadir el repositorio especificado por la `--repository` opción.

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`](tokens-authentication.md#auth-token-login).

## Configurar twine sin el comando `login`
<a name="python-configure-twine-without-login"></a>

 Si no puede usar el comando `login` para configurar twine, puede usar el archivo `~/.pypirc` o las variables de entorno. Para usar el archivo `~/.pypirc`, agréguele las siguientes entradas. La contraseña debe ser un token de autenticación adquirido por la API `get-authorization-token`.

```
[distutils]
index-servers =
 codeartifact
[codeartifact]
repository = https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/
password = auth-token
username = aws
```

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

Para utilizar variables de entorno, haga lo siguiente.

**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](domain-overview.md#domain-overview-cross-account).

```
export TWINE_USERNAME=aws
export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format pypi --query repositoryEndpoint --output text`
```

## Ejecutar twine
<a name="python-run-twine"></a>

Antes de usar twine para publicar los activos del paquete de Python, primero debe configurar CodeArtifact los permisos y los recursos.

1. Siga los pasos de la [Configuración con AWS CodeArtifact](get-set-up-for-codeartifact.md) sección para configurar su AWS cuenta, sus herramientas y sus permisos.

1. Configure twine siguiendo los pasos que se indican en [Configurar twine con el comando `login`](#python-configure-twine-login) o [Configurar twine sin el comando `login`](#python-configure-twine-without-login).

Tras configurar twine, puede ejecutar comandos `twine`. Utilice el siguiente comando para publicar los activos del paquete de Python.

```
twine upload --repository codeartifact mypackage-1.0.tgz
```

Para obtener información sobre cómo crear y empaquetar una aplicación de Python, consulte [Generación de archivos de distribución](https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives) en el sitio web de Python Packaging Authority.