Partager via


Gérer les packages Python requis avec requirements.txt

Si vous partagez votre projet Python avec d’autres personnes ou utilisez un système de génération pour produire votre application Python, vous devez spécifier les packages externes requis. Lorsque vous envisagez de copier votre projet vers d’autres emplacements où vous devez restaurer un environnement, vous devez également définir les packages dépendants requis.

L’approche recommandée pour spécifier des packages Python dépendants externes consiste à utiliser un fichier requis (readthedocs.org). Ce fichier contient une liste de commandes pip qui installent toutes les versions requises de packages dépendants pour votre projet. La commande la plus courante est pip freeze > requirements.txt. Cette commande enregistre la liste des packages actuels de votre environnement dans le requirements.txt fichier.

Un fichier de configuration requise contient des versions précises de tous les packages installés. Vous pouvez utiliser les fichiers d’exigences pour figer les exigences d’un environnement. En utilisant des versions précises de package, vous pouvez facilement reproduire votre environnement sur un autre ordinateur. Les fichiers de configuration requise incluent des packages même s’ils sont installés avec une plage de versions, en tant que dépendance d’un autre package ou avec un programme d’installation autre que pip.

Prerequisites

Techniquement, n’importe quel nom de fichier peut être utilisé pour suivre les exigences. Toutefois, Visual Studio fournit une prise en charge spécifique du fichier requis nommé «requirements.txt». Vous pouvez utiliser l’argument -r <full path to file> lorsque vous installez un package pour spécifier votre nom préféré pour le fichier.

Installer les dépendances répertoriées dans requirements.txt

Si vous chargez un projet qui a un requirements.txt fichier, vous pouvez installer toutes les dépendances de package répertoriées dans le fichier.

  1. Dans l’Explorateur de solutions, développez le projet, puis développez le nœud Environnements Python .

  2. Recherchez le nœud d’environnement pour lequel vous souhaitez installer les packages. Cliquez avec le bouton droit sur le nœud, puis sélectionnez Installer à partir de requirements.txt.

  3. Vous pouvez surveiller le processus d’installation du package dans la fenêtre Sortie :

    Capture d’écran montrant la sortie de l’installation des packages Python à partir d’un fichier texte requis.

    La sortie répertorie tous les packages requis installés, ainsi que les mises à jour requises pour les commandes pip affectées et la disponibilité des versions de pip plus récentes.

Installer des dépendances dans un environnement virtuel

Vous pouvez également installer les dépendances de package Python dans un environnement virtuel existant.

  1. Dans l’Explorateur de solutions, développez votre projet, puis développez le nœud Environnements Python .

  2. Recherchez le nœud d’environnement virtuel pour lequel vous souhaitez installer les packages. Cliquez avec le bouton droit sur le nœud, puis sélectionnez Installer à partir de requirements.txt.

Si vous devez créer un environnement virtuel, consultez Utiliser des environnements virtuels.

Générer le fichier requirements.txt

Si tous les packages Python nécessaires pour votre projet sont déjà installés dans un environnement, vous pouvez générer le requirements.txt fichier dans Visual Studio.

  1. Dans l’Explorateur de solutions, développez votre projet, puis développez le nœud Environnements Python .

  2. Recherchez le nœud d’environnement pour lequel vous souhaitez générer le fichier de configuration requise. Cliquez avec le bouton droit sur le nœud, puis sélectionnez Générer requirements.txt.

Actualiser ou ajouter des entrées à un fichier requirements.txt existant

Si le requirements.txt fichier existe déjà, Visual Studio affiche une invite avec plusieurs options :

Capture d’écran de l’invite affichée lorsque le fichier texte requis existe déjà, avec des options pour mettre à jour ou ajouter des entrées, ou remplacer le fichier.

  • Remplacez l’intégralité du fichier : remplacez tous les éléments, commentaires et options définis dans le requirements.text fichier.
  • Actualisez les entrées existantes : Mettez à jour les spécificateurs de version dans le requirements.text fichier pour qu’ils correspondent à la version actuellement installée.
  • Mettre à jour et ajouter des entrées : actualisez les exigences existantes dans le requirements.text fichier et ajoutez toutes les nouvelles exigences de package à la fin du fichier.

Visual Studio s’exécute pip pour détecter les exigences actuelles du package pour l’environnement, puis met à jour votre requirements.txt fichier en fonction de votre sélection.

Installer manuellement les dépendances de package

Si pip n’installe pas de dépendance de package définie dans votre requirements.txt fichier, l’installation entière échoue.

Vous avez deux options pour résoudre ce problème :

  • Modifiez manuellement le requirements.txt fichier pour exclure le package ayant échoué, puis réexécutez le processus d’installation.

  • Utilisez les options de commande pip pour faire référence à une version installable du package.

Mettre à jour le fichier des exigences avec pip wheel

Si vous utilisez la pip wheel commande pour compiler une dépendance, vous pouvez ajouter l’option --find-links <path> à votre requirements.txt fichier.

  1. Appelez la pip wheel commande pour compiler la liste des dépendances requises :

    pip wheel azure
    

    La sortie montre les roues construites des paquets collectés :

    Downloading/unpacking azure
        Running setup.py (path:C:\Project\env\build\azure\setup.py) egg_info for package azure
    
    Building wheels for collected packages: azure
        Running setup.py bdist_wheel for azure
        Destination directory: c:\project\wheelhouse
    Successfully built azure
    Cleaning up...
    
  2. Ajoutez les options find-links et no-index, ainsi que la condition de version du paquet à votre fichier requirements.txt :

    type requirements.txt
    --find-links wheelhouse
    --no-index
    azure==0.8.0
    
  3. Exécutez le processus d’installation pip avec votre fichier de configuration requise mis à jour :

    pip install -r requirements.txt -v
    

    La sortie suit la progression du processus d’installation :

    Downloading/unpacking azure==0.8.0 (from -r requirements.txt (line 3))
        Local files found: C:/Project/wheelhouse/azure-0.8.0-py3-none-any.whl
    Installing collected packages: azure
    Successfully installed azure
    Cleaning up...
        Removing temporary dir C:\Project\env\build...