Partager via


Utiliser des packages à partir de l’index de package Python (PyPI)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

À l’aide d’Azure Artifacts, les développeurs peuvent publier et consommer des packages à partir des flux Azure Artifacts et des registres externes tels que PyPI.org. En activant des sources en amont, vous pouvez simplifier la gestion de vos packages à l’aide d’un seul flux pour gérer vos propres packages et ceux consommés à partir de registres publics. Une fois activé, Azure Artifacts enregistre automatiquement une copie d’un package installé par un collaborateur ou une version ultérieure à partir d’une source en amont. Cet article vous guide tout au long de la configuration de votre projet et de l’utilisation de la ligne de commande pour consommer efficacement des packages Python à partir de PyPI.

Dans cet article, vous allez apprendre à :

  • Activer des sources en amont pour votre flux
  • Ajouter PyPI en tant que source en amont
  • Configurer votre projet
  • Installer des packages à partir de l’index de package Python

Prérequis

  • Un organization Azure DevOps et un projet. Créez un organization ou un projet si ce n’est pas déjà fait.

  • Un flux Azure Artifacts.

  • Téléchargez Python.

Activer les sources en amont lors de la création d’un flux

Si vous n’avez pas encore créé de flux, suivez les étapes ci-dessous pour en créer un nouveau. Veillez à cocher la case correspondant aux sources en amont pour activer les sources en amont. Si vous disposez déjà d’un flux, passez à l’étape suivante pour ajouter PyPI en tant que source en amont.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Artefacts, puis créez un flux pour créer un flux.

  3. Entrez un nom descriptif pour votre flux et définissez sa visibilité (indiquant qui peut afficher les packages dans le flux). Spécifiez l’étendue de votre flux, puis cochez la case Sources en amont pour inclure des packages à partir de registres publics.

  4. Sélectionnez Créer lorsque vous avez terminé.

    Capture d’écran montrant comment créer un flux nécessaire.

Ajouter PyPI en tant que nouvelle source en amont

Si vous avez coché les sources en amont lors de la création de votre flux, PyPI doit avoir été automatiquement inclus en tant que source en amont. Si ce n’est pas le cas, vous pouvez l’ajouter manuellement en procédant comme suit :

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Artefacts, puis sélectionnez l’icône l’icône d’engrenage d’engrenage pour accéder aux paramètres du flux.

  3. Sélectionnez sources en amont, puis ajoutez en amont une nouvelle source en amont.

  4. Sélectionnez Source publique, puis pyPI (https://pypi.org/) dans le menu déroulant.

  5. Sélectionnez Ajouter lorsque vous avez terminé, puis sélectionnez Enregistrer dans le coin supérieur droit pour enregistrer vos modifications.

    Capture d’écran montrant comment ajouter PyPI en tant que nouvelle source en amont.

S’authentifier avec votre flux

  1. Vérifiez que vous avez téléchargé Python, puis exécutez la commande suivante pour mettre à niveau votre gestionnaire de package Python :

    python -m pip install --upgrade pip
    
  2. Exécutez la commande suivante pour installer le keyring Azure Artifacts :

    pip install keyring artifacts-keyring
    
  3. Créez un jeton d’accès personnel avec l’étendue De lecture d’empaquetage>pour vous authentifier auprès d’Azure DevOps. La première fois que vous vous connectez à Azure DevOps, vous devez entrer vos informations d’identification lorsque vous y êtes invité. Fournissez votre nom d’utilisateur (n’importe quelle chaîne) et votre jeton d’accès personnel dans les champs désignés. Ces informations d’identification sont mises en cache localement et automatiquement utilisées pour vous connecter à la prochaine fois que vous utilisez le service.

  4. Accédez au dossier de votre projet, puis exécutez la commande suivante pour créer un environnement virtuel :

    python -m venv <VIRTUAL_ENVIRONMENT_NAME>
    
  5. Créez un fichier pip.ini (Windows) ou un fichier pip.conf (Mac/Linux) dans votre environnement virtuel, puis collez l’extrait de code suivant dans votre fichier. Veillez à remplacer les espaces réservés par les informations appropriées et à ne pas valider ce fichier dans un dépôt public, car il contient votre jeton d’accès personnel.

    • Flux dans l’étendue du projet :

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      
    • Flux d’étendue de l’organisation :

      [global]
      extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/pypi/simple/
      

Installer des packages à partir de PyPI

Maintenant que nous avons configuré notre projet pour l’authentification avec notre flux, nous pouvons commencer à installer des packages à partir de l’amont PyPI. Dans cet exemple, nous allons installer Flask:

  1. Dans une fenêtre d’invite de commandes, accédez au dossier de votre projet et exécutez la commande suivante pour activer votre environnement virtuel. Remplacez l’espace réservé par le nom de l’environnement virtuel que vous avez créé précédemment :

    <YOUR_VIRTUAL_ENVIRONMENT_NAME>/Scripts/Activate.ps1
    
  2. Exécutez la commande suivante pour vérifier les packages installés dans votre environnement virtuel :

    pip list
    
  3. Exécutez la commande suivante pour installer Flask.

    pip install -U Flask
    
  4. Une fois votre package installé, Azure Artifacts enregistre une copie de ce package dans votre flux. Votre package doit être disponible dans votre flux, comme illustré dans la capture d’écran ci-dessous.

    Capture d’écran montrant les packages installés à partir de PyPI en amont.