

Amazon n' CodeCatalyst est plus ouvert aux nouveaux clients. Les clients existants peuvent continuer à utiliser le service normalement. Pour de plus amples informations, veuillez consulter [Comment effectuer une migration depuis CodeCatalyst](migration.md).

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.

# Utilisation de Python
<a name="packages-python"></a>

Ces rubriques décrivent comment utiliser `pip` le gestionnaire de packages Python et `twine` l'utilitaire de publication de packages Python avec CodeCatalyst.

**Topics**
+ [Configuration de pip et installation de packages Python](packages-python-pip.md)
+ [Configuration de Twine et publication de packages Python](packages-python-twine.md)
+ [Normalisation du nom des paquets Python](python-name-normalization.md)
+ [Compatibilité Python](packages-python-compatibility.md)

# Configuration de pip et installation de packages Python
<a name="packages-python-pip"></a>

Pour l'utiliser `pip` avec CodeCatalyst, vous devez vous connecter `pip` à votre référentiel de packages et fournir un jeton d'accès personnel pour l'authentification. Vous pouvez consulter les instructions de connexion `pip` à votre référentiel de packages dans la CodeCatalyst console. Après vous être authentifié et `pip` connecté CodeCatalyst, vous pouvez exécuter des `pip` commandes.

**Contents**
+ [Installation de packages Python à partir CodeCatalyst de pip](#pip-install)
+ [Consommation de packages Python depuis PyPI jusqu'à CodeCatalyst](#pip-install-pypi)
+ [support de la commande pip](#pip-command-support)
  + [Commandes prises en charge qui interagissent avec un référentiel](#supported-pip-commands-that-interact-with-a-repository)
  + [Commandes côté client prises en charge](#supported-pip-client-side-commands)

## Installation de packages Python à partir CodeCatalyst de pip
<a name="pip-install"></a>

Les instructions suivantes expliquent comment configurer l'installation de packages Python `pip` à partir de votre CodeCatalyst référentiel de packages ou de l'un de ses référentiels en amont.

**À configurer et à utiliser `pip` pour installer des packages Python à partir de votre référentiel de CodeCatalyst packages**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Sur la page d'aperçu de votre projet, sélectionnez **Packages**.

1. Choisissez votre référentiel de packages dans la liste des référentiels de packages.

1. Choisissez **Connect to repository**.

1. Dans la boîte de dialogue **Connect to repository**, sélectionnez **pip** dans la liste des clients du gestionnaire de packages.

1. Vous aurez besoin d'un jeton d'accès personnel (PAT) pour authentifier pip. CodeCatalyst Si vous en avez déjà un, vous pouvez l'utiliser. Si ce n'est pas le cas, vous pouvez en créer un ici.

   1. Choisissez **Créer un jeton**.

   1. Choisissez **Copier** pour copier votre PAT.
**Avertissement**  
Vous ne pourrez plus voir ou copier votre PAT une fois que vous aurez fermé la boîte de dialogue.

1. Utilisez la `pip config` commande pour définir l'URL du CodeCatalyst registre et les informations d'identification. Remplacez les valeurs suivantes.
**Note**  
Si vous copiez les instructions depuis la console, les valeurs suivantes doivent être mises à jour pour vous et ne doivent pas être modifiées.
   + Remplacez *username* par votre nom CodeCatalyst d'utilisateur.
   + *PAT*Remplacez-le par votre CodeCatalyst PAT.
   + *space\$1name*Remplacez-le par le nom de votre CodeCatalyst espace.
   + Remplacez *proj\$1name* par le nom CodeCatalyst de votre projet.
   + *repo\$1name*Remplacez-le par le nom CodeCatalyst du dépôt de votre package.

   ```
   pip config set global.index-url https://username:PAT@https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/simple/
   ```

1. En supposant qu'un package soit présent dans votre dépôt ou dans l'un de ses référentiels en amont, vous pouvez l'installer avec`pip install`. Par exemple, utilisez la commande suivante pour installer le `requests` package.

   ```
   pip install requests
   ```

   Utilisez `-i` cette option pour revenir temporairement à l'installation de packages depuis [https://pypi.org](https://pypi.org) au lieu de votre référentiel de CodeCatalyst packages.

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

## Consommation de packages Python depuis PyPI jusqu'à CodeCatalyst
<a name="pip-install-pypi"></a>

**Vous pouvez utiliser des packages Python issus du [Python Package Index (PyPI](https://www.pypi.org/)) via CodeCatalyst un référentiel en configurant le référentiel avec une connexion en amont à PyPI.** Les packages consommés à partir de **PyPI** sont ingérés et stockés dans votre référentiel. CodeCatalyst 

**Pour consommer des packages depuis PyPI**

1. Si ce n'est pas déjà fait, configurez pip avec votre référentiel de CodeCatalyst packages en suivant les étapes décrites dans[Installation de packages Python à partir CodeCatalyst de pip](#pip-install). 

1. Assurez-vous que votre dépôt a ajouté **PyPI** en tant que source en amont. Vous pouvez vérifier quelles sources en amont sont ajoutées ou ajouter **PyPI** en tant que source en amont en suivant les instructions et [Ajout d’un référentiel en amont](packages-upstream-repositories-add.md) en choisissant le référentiel de stockage **PyPI**.

Pour plus d'informations sur la demande de packages à partir de référentiels en amont, consultez[Demande d'une version de package avec des référentiels en amont](packages-upstream-repositories-request.md).

## support de la commande pip
<a name="pip-command-support"></a>

Les sections suivantes résument les commandes pip prises en charge par les CodeCatalyst référentiels, en plus des commandes spécifiques non prises en charge.

**Topics**
+ [Commandes prises en charge qui interagissent avec un référentiel](#supported-pip-commands-that-interact-with-a-repository)
+ [Commandes côté client prises en charge](#supported-pip-client-side-commands)

### Commandes prises en charge qui interagissent avec un référentiel
<a name="supported-pip-commands-that-interact-with-a-repository"></a>

Cette section répertorie `pip` les commandes dans lesquelles le `pip` client envoie une ou plusieurs requêtes au registre avec lequel il a été configuré. Il a été vérifié que ces commandes fonctionnent correctement lorsqu'elles sont invoquées dans un référentiel de CodeCatalyst packages.


****  

| Commande | Description | 
| --- | --- | 
|   [installer](https://pip.pypa.io/en/stable/reference/pip_install/)   |  Installez les packages.  | 
|   [télécharger](https://pip.pypa.io/en/stable/reference/pip_download/)   |  Téléchargez les packages.  | 

CodeCatalyst ne met pas en œuvre`pip search`. Si vous avez configuré `pip` avec un référentiel de CodeCatalyst packages, l'exécution `pip search` recherchera et affichera les packages depuis [PyPI](https://pypi.org/).

### Commandes côté client prises en charge
<a name="supported-pip-client-side-commands"></a>

Ces commandes ne nécessitent aucune interaction directe avec un dépôt, il n'est donc CodeCatalyst pas nécessaire de faire quoi que ce soit pour les prendre en charge.


****  

| Commande | Description | 
| --- | --- | 
|   [désinstaller](https://pip.pypa.io/en/stable/reference/pip_uninstall/)   |  Désinstallez les packages.  | 
|   [geler](https://pip.pypa.io/en/stable/reference/pip_freeze/)   |  Afficher les packages installés au format des exigences.  | 
|   [liste](https://pip.pypa.io/en/stable/reference/pip_list/)   |  Répertoriez les packages installés.  | 
|   [sh](https://pip.pypa.io/en/stable/reference/pip_show/)ow   |  Afficher les informations sur les packages installés.  | 
|   [vérifier](https://pip.pypa.io/en/stable/reference/pip_check/)   |  Vérifiez que les packages installés ont des dépendances compatibles.  | 
|   [configuration](https://pip.pypa.io/en/stable/reference/pip_config/)   |  Gérez la configuration locale et globale.  | 
|   [roue](https://pip.pypa.io/en/stable/reference/pip_wheel/)   |  Construisez des roues selon vos besoins.  | 
|   [hachage](https://pip.pypa.io/en/stable/reference/pip_hash/)   |  Calculez les hachages des archives de packages.  | 
|   [achèvement](https://pip.pypa.io/en/stable/user_guide/#command-completion)   |  Facilite l'exécution des commandes.  | 
|   [debug](https://pip.pypa.io/en/stable/reference/pip_debug/)   |  Afficher les informations utiles pour le débogage.  | 
|  help  |  Afficher l'aide pour les commandes.  | 

# Configuration de Twine et publication de packages Python
<a name="packages-python-twine"></a>

Pour l'utiliser `twine` avec CodeCatalyst, vous devez vous connecter `twine` à votre référentiel de packages et fournir un jeton d'accès personnel pour l'authentification. Vous pouvez consulter les instructions de connexion `twine` à votre référentiel de packages dans la CodeCatalyst console. Après vous être authentifié et `twine` connecté CodeCatalyst, vous pouvez exécuter des `twine` commandes.

## Publier des packages vers CodeCatalyst avec Twine
<a name="packages-twine-publish"></a>

Les instructions suivantes expliquent comment vous authentifier et vous connecter `twine` à votre référentiel de CodeCatalyst packages.

**À configurer et `twine` à utiliser pour publier des packages dans votre référentiel de CodeCatalyst packages**

1. Ouvrez la CodeCatalyst console à l'[adresse https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Sur la page d'aperçu de votre projet, sélectionnez **Packages**.

1. Choisissez votre référentiel de packages dans la liste des référentiels de packages.

1. Choisissez **Connect to repository**.

1. Dans la boîte de dialogue **Connect to repository**, choisissez **Twine** dans la liste des clients du gestionnaire de packages.

1. Vous aurez besoin d'un jeton d'accès personnel (PAT) pour authentifier Twine. CodeCatalyst Si vous en avez déjà un, vous pouvez l'utiliser. Si ce n'est pas le cas, vous pouvez en créer un ici.

   1. Choisissez **Créer un jeton**.

   1. Choisissez **Copier** pour copier votre PAT.
**Avertissement**  
Vous ne pourrez plus voir ou copier votre PAT une fois que vous aurez fermé la boîte de dialogue.

1. Vous pouvez configurer Twine à l'aide d'un `.pypirc` fichier ou de variables d'environnement.

   1. **Pour configurer à l'aide d'un `.pypirc` fichier.**

      Ouvrez `~/.pypirc` dans l'éditeur de votre choix.

      Ajoutez un serveur d'index pour CodeCatalyst, y compris le référentiel, le nom d'utilisateur et le PAT que vous avez créés et copiés lors d'une étape précédente. Remplacez les valeurs suivantes.
**Note**  
Si vous copiez les instructions depuis la console, les valeurs suivantes doivent être mises à jour pour vous et ne doivent pas être modifiées.
      + Remplacez *username* par votre nom CodeCatalyst d'utilisateur.
      + *PAT*Remplacez-le par votre CodeCatalyst PAT.
      + *space\$1name*Remplacez-le par le nom de votre CodeCatalyst espace.
      + Remplacez *proj\$1name* par le nom CodeCatalyst de votre projet.
      + *repo\$1name*Remplacez-le par le nom CodeCatalyst du dépôt de votre package.

      ```
      [distutils]
      index-servers = proj-name/repo-name
      
      [proj-name/repo-name]
      repository = https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/
      password = PAT
      username = username
      ```

   1. **Pour configurer avec des variables d'environnement.**

      Définissez les variables d'environnement suivantes. Dans la `TWINE_REPOSITORY_URL` valeur, la mise à jour *space\$1name**proj\$1name*, et *repo\$1name* avec les noms de vos référentiels d' CodeCatalyst espace, de projet et de package.

      ```
      export TWINE_USERNAME=username
      ```

      ```
      export TWINE_PASSWORD=PAT
      ```

      ```
      export TWINE_REPOSITORY_URL="https://packages.region.codecatalyst.aws/pypi/space_name/proj_name/repo_name/"
      ```

1. Publiez une distribution Python à l'aide de la `twine upload` commande.

# Normalisation du nom des paquets Python
<a name="python-name-normalization"></a>

CodeCatalyst normalise les noms de package avant de les stocker, ce qui signifie que les noms de package CodeCatalyst peuvent être différents du nom fourni lors de la publication du package.

Pour les packages Python, lors de la normalisation, le nom du package est en minuscules et toutes les instances des caractères « `.``-`, » `_` sont remplacées par un seul caractère. `-` Ainsi, les noms des packages `pigeon.cli` sont normalisés `pigeon_cli` et stockés sous le nom `pigeon-cli` de. Le nom non normalisé peut être utilisé par pip et twine. Pour plus d'informations sur la normalisation des noms de paquets Python, consultez le [PEP 503](https://www.python.org/dev/peps/pep-0503/#normalized-names) dans la documentation Python.

# Compatibilité Python
<a name="packages-python-compatibility"></a>

 Bien qu' CodeCatalyst il ne prenne pas en charge l'`/simple/`API, il prend en charge les opérations de l'`Legacy`API. CodeCatalyst ne prend pas en charge les opérations PyPI `XML-RPC` ou `JSON` API. 

Pour plus d'informations, consultez ce qui suit sur le GitHub référentiel de la Python Packaging Authority.
+ [API héritée](https://warehouse.pypa.io/api-reference/legacy.html)
+ [API XML-RPC](https://github.com/pypi/warehouse/blob/main/docs/dev/api-reference/xml-rpc.rst)
+ [API JSON](https://docs.pypi.org/api/json/)