Démarrage rapide : Publier et consommer des packages Python avec Azure Artifacts à l’aide de la ligne de commande (CLI)

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

Dans ce guide de démarrage rapide, vous allez apprendre à créer un flux Azure Artifacts et à utiliser votre flux pour publier et consommer des packages Python à partir de la ligne de commande dans votre environnement de développement local. Lorsque vous avez terminé, vous disposez d’un package Python publié sur votre flux et installé à partir de votre flux vers votre environnement de développement local.

Pour publier et consommer des packages dans azure Pipelines, consultez Publier des packages Python avec Azure Pipelines.

Prérequis

Pour exécuter les étapes suivantes, vous devez disposer des éléments suivants :

  • Une organisation Azure DevOps. Créez-en un gratuitement.
  • Jeton d’accès personnel (PAT) avec étendue de lecture de package>. Pour en créer un, consultez Créer un pat.
  • Un projet Azure DevOps. Si vous n’en avez pas, créez un projet.
  • Python 3.8 ou version ultérieure installée sur votre ordinateur local. Téléchargez Python ici.
  • pip 19.2 et twine 1.13.0 ou version ultérieure.
  • Package Python à publier à partir de votre ordinateur local sur votre flux.
  • Si vous utilisez l’exemple de package Python :
    • Un compte GitHub. Créez un compte GitHub gratuit si vous n’en avez pas déjà un.
    • git installé sur votre ordinateur local.
  • Un compte GitHub. Créez un compte GitHub gratuit si vous n’en avez pas déjà un.
  • Accès à une collection Azure DevOps Server.
  • Jeton d’accès personnel (PAT) avec étendue de lecture de package>. Pour en créer un, consultez Créer un pat.
  • Un projet Azure DevOps. Si vous n’en avez pas, créez un projet.
  • Python 3.8 ou version ultérieure installée dans votre environnement de développement local.
  • pip 19.2 et twine 1.13.0 ou version ultérieure.
  • Si vous utilisez l’exemple de package Python :
    • Un compte GitHub. Créez un compte GitHub gratuit si vous n’en avez pas déjà un.
    • git installé sur votre ordinateur local.

Créer un package Python local

Vous avez besoin d’un package Python pour publier sur votre flux. Si vous n’avez pas de package à publier, vous pouvez cloner un exemple de package Python à partir de GitHub.

Cloner l’exemple de package Python

Procédez comme suit pour utiliser l’exemple de package Python à partir de GitHub.

  1. Accédez au référentiel GitHub suivant :

    https://github.com/microsoft/python-package-template
    
  2. Dupliquez le dépôt sur votre compte GitHub.

  3. Accédez à votre dépôt fourche, puis sélectionnez Code.

  4. Copiez l’URL de votre dépôt fourche.

  5. À partir d’une interface CLI sur votre ordinateur local, clonez le référentiel avec la commande suivante à l’aide de l’URL que vous avez copiée à partir de votre dépôt fourche :

    git clone <REPOSITORY_URL>
    
  6. Remplacez le répertoire par le référentiel cloné.

    cd python-package-template
    

Générer votre package

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

Si votre projet Python a un setup.py fichier, vous pouvez utiliser la commande suivante pour générer votre package :

python setup.py sdist bdist_wheel

Créer un flux

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

  2. Sélectionnez Artifacts, puis sélectionnez Créer un flux.

    A screenshot showing how to create a feed.

  3. Entrez les informations suivantes pour votre flux :

    1. Entrez un nom descriptif pour votre flux.
    2. Définissez sa visibilité (indiquant qui peut afficher les packages dans le flux).
    3. Indiquez s’il faut utiliser des packages à partir de sources publiques telles que pypi.org.
    4. Spécifiez l’étendue de votre flux.
  4. Sélectionnez Créer.

  1. Accédez à votre collection Azure DevOps, sélectionnez votre projet.

  2. Sélectionnez Artifacts, puis sélectionnez Créer un flux.

    A screenshot showing how to create a feed in DevOps Server.

  3. Entrez les informations suivantes pour votre flux :

    1. Entrez un nom descriptif pour votre flux.
    2. Définissez sa visibilité (indiquant qui peut afficher les packages dans le flux).
    3. Indiquez s’il faut utiliser des packages à partir de sources publiques telles que pypi.org.
    4. Spécifiez l’étendue de votre flux.
  4. Sélectionnez Créer.

  1. Accédez à votre collection Azure DevOps, sélectionnez votre projet.

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

  3. Entrez les informations suivantes pour votre flux :

    1. Entrez un nom descriptif pour votre flux.
    2. Définissez sa visibilité (indiquant qui peut afficher les packages dans le flux).
    3. Indiquez s’il faut utiliser des packages à partir de sources publiques telles que pypi.org.
    4. Spécifiez l’étendue de votre flux.
  4. Sélectionnez Créer.

  1. Accédez à votre collection Azure DevOps, sélectionnez votre projet.

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

  3. Entrez les informations suivantes pour votre flux :

    1. Entrez un nom descriptif pour votre flux.
    2. Définissez sa visibilité (indiquant qui peut afficher les packages dans le flux).
    3. Choisissez s’il faut utiliser des packages à partir de sources publiques telles que pypi.org.
  4. Sélectionnez Créer.

Publier votre package dans votre flux

Utilisez twine pour charger votre package dans votre flux Azure Artifacts.

  1. Accédez à votre projet Azure DevOps et sélectionnez Artefacts.

  2. Sélectionnez votre flux et sélectionnez Connecter à alimenter.

    A screenshot highlighting the connect to feed.

  3. Sélectionnez twine sous la section Python .

    A screenshot highlighting the twine package type.

  4. Sur votre ordinateur de développement, vérifiez que twine est installé.

    pip install --upgrade twine
    
  5. Suivez les instructions de la section d’installation de Project pour configurer votre .pypirc fichier.

    A screenshot highlighting the `.pyirc` content.

  6. Pour éviter d’avoir à entrer votre jeton d’accès personnel chaque fois que vous publiez un package, vous pouvez ajouter vos informations d’identification au .pypirc fichier. Veillez à ne pas case activée votre jeton d’accès personnel dans un dépôt public.

    Exemple de fichier avec des informations d’identification .pypirc :

    [distutils]
    Index-servers =
        <FEED_NAME>
    
    [<FEED_NAME>]
    Repository = <FEED_URL>
    username = <FEED_NAME>
    password = <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Pour charger votre package, exécutez la commande suivante dans le répertoire de votre projet en <remplaçant FEED_NAME> par le nom de votre flux. Sur Windows, vous devrez peut-être spécifier l’emplacement du .pypirc fichier avec l’argument --config-file .

    twine upload --repository <FEED_NAME> dist/*
    

Installer un package à partir de votre flux

  1. Accédez à votre projet Azure DevOps et sélectionnez Artefacts.

  2. Sélectionnez votre flux et sélectionnez Connecter à alimenter.

    A screenshot highlighting the connect to feed button.

  3. Sélectionnez pip sous la section Python .

    A screenshot highlighting the pip package type.

  4. Préparez votre environnement Python local.

    1. Vérifiez que pip est installé et à jour :

      python -m pip install --upgrade pip
      
    2. Créez et activez un environnement virtuel Python :

      python -m venv myenv
      myenv/Scripts/activate
      
  5. Ajoutez un fichier pip.ini (Windows) ou pip.conf (Mac/Linux) au répertoire racine de votre environnement virtuel. Copiez le contenu à partir de la section Configuration du projet de l’Connecter pour alimenter la boîte de dialogue et ajoutez-le à votre fichier pip.ini ou pip.conf.

    A screenshot highlighting the pip.ini file content.

  6. Pour éviter d’avoir à entrer votre jeton d’accès personnel chaque fois que vous installez un package à partir de votre flux, vous pouvez ajouter vos informations d’identification au fichier pip.ini ou pip.conf . Veillez à ne pas case activée votre jeton d’accès personnel dans un dépôt public.

    Exemple de fichier pip.ini ou pip.conf avec des informations d’identification :

    [global]
    extra-index-url=https://<FEED_NAME>:<YOUR_PERSONAL_ACCESS_TOKEN>@<FEED_URL>
    
  7. Pour installer votre package, exécutez la commande suivante en <remplaçant PACKAGE_NAME> par le nom du package à partir de votre flux.

    pip install <PACKAGE_NAME>
    

Nettoyer les ressources

Une fois les ressources que vous avez créées, vous pouvez les supprimer pour éviter les frais. Lorsque vous supprimez un projet, tous ses flux d’artefacts au niveau du projet sont supprimés.

Pour supprimer un projet :

  1. Sélectionnez Paramètres du projet.
  2. Dans la page détails du projet, sélectionnez Supprimer en bas de la page.
  3. Entrez le nom du projet à confirmer, puis sélectionnez Supprimer.

Si vous souhaitez supprimer uniquement le flux :

  1. Sélectionnez Artefacts et sélectionnez votre flux dans le menu déroulant.
  2. Sélectionnez le bouton paramètres.
  3. Sous l’onglet Paramètres du flux, sélectionnez Supprimer le flux.
  4. Sélectionnez Supprimer pour confirmer.

Pour propre votre environnement de développement local :

  1. Pour désactiver votre environnement virtuel, exécutez la commande suivante :

    deactivate
    
  2. Pour supprimer votre environnement virtuel, supprimez le répertoire où il a été créé.

  3. Supprimez le .pypirc fichier de votre répertoire de base.

Si vous avez cloné l’exemple de package Python, vous pouvez supprimer le référentiel de votre ordinateur local et votre compte GitHub.

Étapes suivantes