Utiliser un environnement virtuel Python avec PyCharm

1. À propos des environnements virtuels Python avec PyCharm

PyCharm est un environnement de développement intégré particulièrement adapté à la programmation Python. Lorsqu'un projet utilise des bibliothèques externes, il est recommandé de lui associer un environnement virtuel afin d'isoler son interpréteur et ses packages de ceux utilisés par les autres projets.

PyCharm permet de créer, sélectionner et utiliser un environnement virtuel directement depuis son interface. Il est également possible de travailler avec le terminal intégré et les commandes classiques du module venv et de pip.

Le programme suivant permet de connaître l'interpréteur Python qui exécute le projet et de vérifier si celui-ci appartient à un environnement virtuel.

Sortie possible :

Lorsque sys.executable pointe vers le dossier .venv du projet et que la comparaison entre sys.prefix et sys.base_prefix retourne True, le programme est exécuté avec l'environnement virtuel.

2. Créer un projet PyCharm avec un environnement virtuel

Lors de la création d'un nouveau projet, PyCharm permet d'associer directement un environnement Python au projet. Selon la version de PyCharm, les intitulés et l'organisation de l'interface peuvent légèrement varier, mais le principe consiste à choisir un environnement de projet basé sur venv et à indiquer l'interpréteur Python de base.

PyCharm peut alors créer un dossier tel que .venv à l'intérieur du projet. Une structure de projet peut par exemple être organisée de la manière suivante.

Sortie :

Une fois l'environnement créé, nous pouvons vérifier la version de Python utilisée depuis le terminal intégré de PyCharm.

Sortie possible :

Nous pouvons également demander à Python d'afficher le chemin exact de l'interpréteur utilisé.

Sortie possible :

Ce chemin confirme que l'interpréteur utilisé appartient bien à l'environnement virtuel du projet.

3. Créer un environnement virtuel depuis le terminal de PyCharm

Il n'est pas obligatoire d'utiliser l'interface graphique de PyCharm pour créer un environnement. Le terminal intégré permet d'exécuter les mêmes commandes que dans CMD, PowerShell ou un terminal Linux et macOS.

Depuis le dossier racine du projet, la commande suivante crée un environnement virtuel nommé .venv.

Sortie :

Sur un système où Python 3 est accessible avec la commande python3, nous pouvons utiliser la commande suivante.

Sortie :

La création du dossier ne suffit toutefois pas toujours à faire de son interpréteur celui utilisé par le projet PyCharm. Il faut donc vérifier ou sélectionner explicitement le Python Interpreter associé au projet.

4. Sélectionner l'interpréteur Python de l'environnement virtuel

Chaque projet PyCharm est associé à un interpréteur Python. Lorsque plusieurs versions de Python ou plusieurs environnements virtuels sont disponibles sur l'ordinateur, il est important de sélectionner celui qui correspond au projet.

Dans les paramètres du projet, recherchez la rubrique consacrée à Python Interpreter. PyCharm permet alors de choisir un interpréteur existant ou d'ajouter un nouvel environnement. Pour un environnement .venv déjà créé, il faut sélectionner l'exécutable Python contenu dans ce dossier.

Sous Windows, l'interpréteur d'un environnement nommé .venv possède généralement un chemin de la forme suivante.

Sortie attendue :

Sous Linux ou macOS, l'interpréteur de l'environnement se trouve généralement dans le dossier bin.

Sortie attendue :

Une fois le bon interpréteur sélectionné, les programmes exécutés par la configuration Python du projet peuvent utiliser les packages installés dans cet environnement virtuel.

5. Utiliser l'environnement virtuel dans le terminal de PyCharm

Le terminal intégré de PyCharm permet d'exécuter les commandes Python et pip sans quitter l'IDE. Lorsqu'un environnement virtuel est associé au projet, le terminal peut être configuré de manière à l'activer à son ouverture. Il reste utile de savoir l'activer manuellement.

Activation sous Windows avec CMD

Lorsque le terminal utilise CMD, le script activate.bat permet d'activer l'environnement .venv.

Sortie possible :

Activation sous Windows avec PowerShell

Lorsque PyCharm utilise PowerShell comme terminal, le script Activate.ps1 permet d'activer l'environnement.

Sortie possible :

Activation sous Linux et macOS

Sous Linux et macOS, le script activate contenu dans le dossier bin peut être chargé avec la commande suivante.

Sortie possible :

Après l'activation, la présence de (.venv) devant l'invite du terminal indique généralement que les commandes python et pip sont exécutées dans le contexte de cet environnement.

6. Installer des packages dans l'environnement virtuel

Une fois l'environnement correctement sélectionné et activé, nous pouvons installer les bibliothèques nécessaires au projet avec pip. L'utilisation de python -m pip permet d'appeler pip avec l'interpréteur correspondant à la commande python actuellement utilisée.

La commande suivante installe la bibliothèque requests dans l'environnement virtuel.

Sortie possible :

Nous pouvons ensuite vérifier la version du package installé avec pip show.

Sortie possible :

La commande suivante affiche l'ensemble des packages installés dans l'environnement actuellement utilisé.

Sortie possible :

Les bibliothèques ainsi installées sont disponibles pour le projet utilisant cet environnement sans devoir être installées dans tous les autres environnements Python de l'ordinateur.

7. Exécuter un programme avec l'environnement virtuel

Lorsque l'interpréteur du projet est correctement configuré dans PyCharm, nous pouvons exécuter un fichier Python et vérifier que le programme utilise bien l'environnement virtuel sélectionné. Le programme suivant affiche l'interpréteur utilisé ainsi que la version de requests.

Sortie possible :

Nous pouvons également créer un petit diagnostic permettant de déterminer si le programme est exécuté dans un environnement virtuel.

Sortie possible :

Si PyCharm signale qu'un module est introuvable alors qu'il a été installé, il faut vérifier que le package a été installé dans le même environnement que celui utilisé par la configuration d'exécution du projet.

8. Utiliser requirements.txt avec PyCharm

Un projet Python destiné à être partagé ne doit généralement pas dépendre de la copie directe du dossier .venv. Il est préférable de conserver les dépendances dans un fichier requirements.txt, puis de recréer l'environnement lorsque cela est nécessaire.

Depuis le terminal de PyCharm, la commande suivante génère requirements.txt à partir des distributions installées dans l'environnement actif.

Sortie :

Après l'installation de requests, le fichier peut par exemple contenir les dépendances suivantes.

Sortie :

Après avoir créé un nouvel environnement virtuel pour le projet, toutes les dépendances déclarées peuvent être installées avec l'option -r.

Sortie possible :

Cette méthode permet de reconstruire facilement l'environnement du projet sur un autre ordinateur ou après la suppression du dossier .venv.

9. Vérifier et résoudre les problèmes d'environnement dans PyCharm

Un problème fréquent apparaît lorsqu'un package est installé dans un environnement tandis que PyCharm exécute le programme avec un autre interpréteur. La première vérification consiste donc à afficher le chemin de l'interpréteur réellement utilisé par le programme.

Le code suivant fournit le chemin de l'interpréteur ainsi que les préfixes Python utiles pour identifier l'environnement.

Sortie possible :

Nous pouvons ensuite vérifier dans le terminal que pip appartient également au même environnement.

Sortie possible :

Si le chemin de pip pointe vers .venv, les packages installés avec cette commande sont placés dans l'environnement du projet.

La commande suivante permet également de contrôler la cohérence des dépendances installées.

Sortie possible :

Si PyCharm continue à utiliser un mauvais interpréteur, il faut vérifier le Python Interpreter configuré pour le projet ainsi que l'interpréteur utilisé par la configuration d'exécution concernée. Après un changement d'environnement, il peut également être utile d'ouvrir un nouveau terminal afin de travailler avec le contexte attendu.

10. À retenir !

L'utilisation d'un environnement virtuel Python avec PyCharm permet d'isoler les dépendances de chaque projet et d'éviter qu'une modification effectuée pour une application perturbe les autres projets. PyCharm facilite cette organisation en associant chaque projet à un interpréteur Python déterminé.

  • Un projet PyCharm peut utiliser son propre environnement virtuel.
  • python -m venv .venv permet de créer manuellement un environnement avec venv.
  • PyCharm peut également créer un environnement lors de la configuration d'un projet.
  • Le Python Interpreter du projet doit correspondre à l'environnement souhaité.
  • Sous Windows, l'interpréteur de .venv se trouve généralement dans .venv\Scripts\python.exe.
  • Sous Linux et macOS, il se trouve généralement dans .venv/bin/python.
  • python -m pip install permet d'installer des packages avec l'interpréteur Python concerné.
  • sys.executable permet de connaître précisément l'interpréteur utilisé lors de l'exécution.
  • requirements.txt permet d'enregistrer et de réinstaller les dépendances d'un projet.
  • En cas de module introuvable, il faut vérifier que PyCharm et pip utilisent bien le même environnement.

Le processus suivant résume la création et la préparation d'un environnement virtuel depuis le terminal de PyCharm sous Windows avec CMD.

Sortie possible :

Enfin, le programme suivant peut être exécuté directement depuis PyCharm pour contrôler l'environnement utilisé par le projet.

Sortie possible :

 




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 *