Installer des packages avec pip dans un environnement virtuel Python

1. À propos de pip dans un environnement virtuel Python

Un environnement virtuel Python permet à un projet de disposer de ses propres bibliothèques indépendamment de l'installation globale de Python. Une fois l'environnement créé et activé, le gestionnaire de packages pip permet d'installer, de mettre à jour et de supprimer des bibliothèques uniquement dans cet environnement.

Supposons qu'un environnement virtuel nommé .venv ait déjà été créé dans le dossier du projet. Sous Windows avec l'Invite de commandes, nous pouvons l'activer avec la commande suivante.

Sortie possible :

Sous Linux ou macOS, l'environnement peut être activé avec la commande suivante.

Sortie possible :

Le préfixe (.venv) indique généralement que l'environnement virtuel est actif. Les commandes Python et pip utilisées dans ce terminal peuvent maintenant travailler avec l'environnement du projet.

2. Vérifier que pip utilise l'environnement virtuel

Avant d'installer une bibliothèque, il est conseillé de vérifier que pip appartient bien à l'environnement virtuel. La commande python -m pip --version affiche la version de pip ainsi que son emplacement.

Sortie possible sous Windows :

La présence de .venv dans le chemin montre que pip est associé à notre environnement virtuel et non à l'installation globale de Python.

Nous pouvons également vérifier l'interpréteur Python actuellement utilisé avec sys.executable.

Sortie possible sous Windows :

L'interpréteur appartient lui aussi au dossier .venv. Nous pouvons donc installer les dépendances du projet sans les mélanger avec celles d'une autre installation Python.

3. Installer un package avec pip

La commande pip install permet d'installer un package Python. Dans un environnement virtuel actif, le package est normalement installé dans cet environnement.

La syntaxe suivante utilise python -m pip pour installer la bibliothèque requests.

Sortie possible :

Les versions et les dépendances affichées peuvent varier selon la date de l'installation. Le package requests ainsi que ses dépendances sont installés dans l'environnement virtuel courant.

Nous pouvons ensuite vérifier que la bibliothèque est disponible en l'important dans un programme Python.

Sortie possible :

Si l'importation fonctionne, requests est disponible pour les programmes exécutés avec l'interpréteur de cet environnement.

4. Installer une version précise d'un package

Par défaut, pip install recherche une version appropriée du package. Dans certains projets, il est cependant nécessaire d'utiliser une version précise afin d'assurer la compatibilité du programme avec ses dépendances.

Pour demander une version déterminée, nous utilisons == après le nom du package. L'exemple suivant demande précisément la version 2.31.0 de requests.

Sortie possible :

Nous pouvons ensuite demander à pip des informations sur le package installé avec la commande pip show.

Sortie possible :

Le champ Version permet de connaître la version installée, tandis que Location permet de vérifier que le package se trouve bien dans le dossier de l'environnement virtuel.

5. Afficher les packages installés dans l'environnement

La commande pip list affiche les packages disponibles dans l'environnement Python courant ainsi que leurs versions. Elle est particulièrement utile pour examiner rapidement les dépendances déjà installées.

Sortie possible :

Le contenu exact dépend naturellement des bibliothèques installées dans l'environnement.

La commande pip freeze fournit une représentation particulièrement pratique des packages et de leurs versions sous la forme nom==version.

Sortie possible :

Cette représentation est notamment utile pour enregistrer ultérieurement les dépendances d'un projet dans un fichier requirements.txt.

6. Mettre à jour un package avec pip

Un package déjà présent dans l'environnement virtuel peut être mis à jour avec l'option --upgrade. pip recherche alors une version plus récente compatible avec les contraintes indiquées.

La commande suivante demande la mise à jour de requests.

Sortie possible :

La sortie exacte dépend de la version déjà présente et de la version disponible. Si la dernière version appropriée est déjà installée, pip peut simplement indiquer que l'exigence est satisfaite.

Après la mise à jour, nous pouvons contrôler la version installée avec pip show.

Sortie possible :

Le package a été mis à jour uniquement dans l'environnement Python auquel appartient le pip utilisé pour cette commande.

7. Supprimer un package avec pip

La commande pip uninstall permet de supprimer un package installé dans l'environnement courant. Elle est utile lorsqu'une bibliothèque n'est plus nécessaire ou lorsque nous souhaitons remplacer une version installée.

La commande suivante demande la suppression de requests.

Sortie possible :

pip demande généralement une confirmation. Après avoir répondu Y, le package est supprimé.

Sortie possible :

Nous pouvons également utiliser l'option -y pour confirmer automatiquement la suppression d'un package.

Sortie possible :

Cette option est pratique dans les scripts, mais il convient naturellement de vérifier le nom du package avant d'effectuer une suppression automatique.

8. Comprendre l'isolation des packages

L'un des principaux avantages d'un environnement virtuel est l'isolation des dépendances. Une bibliothèque installée dans .venv est destinée à cet environnement et ne modifie normalement pas les packages des autres environnements virtuels ni ceux de l'installation globale de Python.

Le programme suivant affiche le chemin de l'interpréteur et le chemin principal associé à l'environnement courant.

Sortie possible :

La différence entre sys.prefix et sys.base_prefix montre que le programme utilise un environnement virtuel construit à partir d'une installation Python de base.

Nous pouvons également vérifier automatiquement si le programme s'exécute dans un environnement virtuel.

Sortie :

Lorsque cette condition est vraie, les packages installés avec le pip associé à cet interpréteur sont gérés dans le contexte de l'environnement virtuel.

9. Utiliser python -m pip et gérer pip

La commande python -m pip est particulièrement intéressante dans un environnement virtuel, car elle demande explicitement à l'interpréteur Python courant d'exécuter le module pip. Elle réduit ainsi les ambiguïtés lorsque plusieurs installations de Python ou plusieurs environnements sont présents sur l'ordinateur.

La commande suivante affiche la version de pip associée au Python courant.

Sortie possible :

Nous pouvons également mettre à jour pip lui-même dans l'environnement virtuel avec l'option --upgrade.

Sortie possible :

La sortie dépend de la version déjà installée. Si pip est déjà à la version appropriée, aucune mise à jour n'est nécessaire.

Enfin, la commande suivante permet de rechercher les packages de l'environnement pour lesquels une version plus récente est disponible.

Sortie possible :

Cette commande n'effectue aucune mise à jour automatiquement : elle indique simplement les packages qui peuvent éventuellement être mis à niveau.

10. À retenir !

L'utilisation de pip à l'intérieur d'un environnement virtuel Python permet de gérer les dépendances propres à un projet sans modifier les packages des autres environnements ni, dans le fonctionnement habituel d'un venv, ceux de l'installation globale de Python.

  • python -m pip --version permet de vérifier quel pip est utilisé.
  • python -m pip install package installe un package dans l'environnement courant.
  • package==version permet de demander une version précise.
  • python -m pip show package affiche les informations relatives à un package installé.
  • python -m pip list affiche les packages présents dans l'environnement.
  • python -m pip freeze affiche les packages sous la forme nom et version.
  • python -m pip install --upgrade package permet de mettre à jour un package.
  • python -m pip uninstall package permet de supprimer un package.
  • sys.prefix != sys.base_prefix permet de vérifier depuis Python qu'un environnement virtuel est utilisé.
  • python -m pip permet d'associer explicitement pip à l'interpréteur Python courant.

L'exemple suivant rassemble les principales commandes permettant d'installer une bibliothèque, d'afficher ses informations, de la mettre à jour puis de la supprimer dans l'environnement virtuel actif.

Sortie possible :

Ces opérations concernent le pip associé à l'interpréteur de l'environnement virtuel. Elles permettent ainsi à chaque projet Python de conserver ses propres bibliothèques et versions indépendamment des autres projets.

 



 


Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *