Partager via


Prise en main des packages Python dans Azure Artifacts

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

À l’aide d’Azure Artifacts, vous pouvez publier et télécharger des packages à partir de flux et de registres publics tels que PyPi. Ce guide de démarrage rapide vous guide tout au long de la création d’un flux, de la configuration de votre projet et de la gestion des packages Python dans votre flux Azure Artifacts. Dans cet article, vous allez apprendre à :

  • Créez un flux.
  • Authentifiez-vous avec votre flux de données.
  • Publiez des packages Python.
  • Installez des packages à partir de votre flux.

Conditions préalables

  • Créez une organisation Azure DevOps et un projet si ce n’est déjà fait.

  • Téléchargez et installez python.

Obtenir le code

  1. Si vous n’avez pas votre propre projet Python, vous pouvez utiliser l’exemple de projet Python suivant :

    https://github.com/microsoft/python-package-template
    
  2. Pour générer votre roue et votre distribution source, exécutez les commandes suivantes dans le répertoire de votre projet :

    pip install --upgrade build
    python -m build
    
  3. Si votre projet Python a un fichier setup.py, vous pouvez également utiliser cette commande pour générer votre package :

    python setup.py sdist bdist_wheel
    

Créer un flux

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

  2. Sélectionnez Artifacts, puis sélectionnez Create feed.

  3. Fournissez un nom pour votre flux, choisissez l’option Visibilité qui définit qui peut afficher vos packages, cochez Inclure des packages à partir de sources publiques courantes si vous souhaitez inclure des packages à partir de sources telles que nuget.org ou npmjs.com, et pour étendue, déterminez si le flux doit être étendu à votre projet ou à l’ensemble de l’organisation.

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

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps Services.

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

  2. Sélectionnez Artifacts, puis sélectionnez Create feed.

  3. Fournissez un nom pour votre flux, choisissez l’option Visibilité qui définit qui peut afficher vos packages, cochez Inclure des packages à partir de sources publiques courantes si vous souhaitez inclure des packages à partir de sources telles que nuget.org ou npmjs.com, et pour étendue, déterminez si le flux doit être étendu à votre projet ou à l’ensemble de l’organisation.

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

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps 2022.

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

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps 2020.

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

  2. Sélectionnez Artifacts, puis sélectionnez New feed.

  3. Pour Name, entrez un nom descriptif pour votre flux.

    Pour Visibility, sélectionnez une option afin d’indiquer qui peut afficher les packages dans le flux.

    Si vous souhaitez inclure des packages à partir de sources publiques, sélectionnez l’option Utiliser des packages à partir de sources publiques via cette option de flux.

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

    Capture d’écran montrant les sélections permettant de créer un flux dans Azure DevOps 2019.

Remarque

Par défaut, les flux nouvellement créés ont la valeur Build Service de leur projet définie sur Feed and Upstream Reader (Collaborator).

Se connecter à un flux

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

  2. Sélectionnez Artifacts, sélectionnez votre flux dans le menu déroulant, puis sélectionnez Connect to feed.

  3. Sélectionnez twine sous la section Python.

  4. Si c’est votre première utilisation d’Azure Artifacts avec twine, sélectionnez Obtenir les outils et suivez les étapes pour installer les prérequis.

  5. Ajoutez un fichier pypirc dans votre répertoire de base et collez l’extrait de code fourni. Votre fichier doit ressembler à ceci :

    [distutils]
    Index-servers =
        FEED_NAME
    
    [FEED_NAME]
    Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/
    

Remarque

Si votre fichier .pypirc contient déjà des informations d’identification pour l’index PyPI public, nous vous recommandons de supprimer la section [pypi] pour empêcher la publication accidentelle de packages privés sur PyPI.

Publier des packages

  1. Exécutez cette commande dans votre répertoire de projet pour créer des distributions source et de roue :

    python setup.py sdist bdist_wheel
    
    
  2. Exécutez la commande suivante pour publier votre package. Utilisez l’indicateur -r FEED_NAME pour vous assurer que vos packages privés ne sont pas publiés accidentellement sur PyPI.

    twine upload -r <FEED_NAME> dist/*
    

Installer des packages

  1. Exécutez cette commande dans le répertoire de votre projet pour installer vos packages :

    pip install
    
  2. Pour installer un package spécifique, exécutez la commande suivante, en remplaçant l’espace réservé par le nom du package à partir de votre flux.

    pip install <PACKAGE_NAME>
    

Étapes suivantes