

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurez et utilisez Twine avec CodeArtifact
<a name="python-configure-twine"></a>

[twine](https://pypi.org/project/twine/) est un utilitaire de publication de packages pour les packages Python. Pour utiliser twine pour publier des packages Python dans votre CodeArtifact dépôt, vous devez d'abord configurer twine avec les informations et les informations d'identification de votre CodeArtifact dépôt.

twine ne peut être utilisé que pour publier des packages Python. Pour installer des packages Python, vous pouvez utiliser [pip.](https://pypi.org/project/pip/) Pour de plus amples informations, veuillez consulter [Configurer et utiliser pip avec CodeArtifact](python-configure-pip.md).

## Configurez la ficelle avec la commande `login`
<a name="python-configure-twine-login"></a>

Tout d'abord, configurez vos AWS informations d'identification à utiliser avec le AWS CLI, comme décrit dans[Commencer avec CodeArtifact](getting-started.md). Utilisez ensuite la CodeArtifact `login` commande pour récupérer les informations d'identification et configurer Twine avec elles.

**Note**  
Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](domain-overview.md#domain-overview-cross-account).

Pour configurer Twine, exécutez la commande suivante.

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

 `login`récupère un jeton d'autorisation à l' CodeArtifact aide de vos AWS informations d'identification. La `login` commande configure la ficelle à utiliser CodeArtifact en modifiant `~/.pypirc` pour ajouter le référentiel spécifié par l'`--repository`option avec des informations d'identification.

La période d'autorisation par défaut après l'appel `login` est de 12 heures et `login` doit être appelée pour actualiser régulièrement le jeton. Pour plus d'informations sur le jeton d'autorisation créé avec la `login` commande, consultez[Jetons créés avec la `login` commande](tokens-authentication.md#auth-token-login).

## Configurer la ficelle sans la commande `login`
<a name="python-configure-twine-without-login"></a>

 Si vous ne pouvez pas utiliser la `login` commande pour configurer Twine, vous pouvez utiliser le `~/.pypirc` fichier ou les variables d'environnement. Pour utiliser le `~/.pypirc` fichier, ajoutez-y les entrées suivantes. Le mot de passe doit être un jeton d'authentification acquis par l'`get-authorization-token`API.

```
[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
```

**Note**  
Pour utiliser un point de terminaison à double pile, utilisez le `codeartifact.region.on.aws` point de terminaison.

Pour utiliser des variables d'environnement, procédez comme suit.

**Note**  
Si vous accédez à un référentiel dans un domaine qui vous appartient, il n'est pas nécessaire d'inclure le`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](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`
```

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

Avant d'utiliser twine pour publier les actifs d'un package Python, vous devez d'abord configurer CodeArtifact les autorisations et les ressources.

1. Suivez les étapes décrites dans la [Configuration avec AWS CodeArtifact](get-set-up-for-codeartifact.md) section pour configurer votre AWS compte, vos outils et vos autorisations.

1. Configurez la ficelle en suivant les étapes décrites dans [Configurez la ficelle avec la commande `login`](#python-configure-twine-login) ou[Configurer la ficelle sans la commande `login`](#python-configure-twine-without-login).

Après avoir configuré Twine, vous pouvez exécuter des `twine` commandes. Utilisez la commande suivante pour publier les actifs d'un package Python.

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

Pour plus d'informations sur la création et le package de votre application Python, consultez la section [Génération d'archives de distribution](https://packaging.python.org/tutorials/packaging-projects/#generating-distribution-archives) sur le site Web de la Python Packaging Authority.