Jean-Jil Duchamps

Comment gérer Python sans casser Anaconda

Ce mini-guide sert à donner des bases pour installer des paquets via pip (le gestionnaire de paquets officiel de Python) sans casser Anaconda (ou plus spécifiquement, votre environnement de base d'Anaconda).

Il est écrit car je me rends compte qu'en M2, avec certains cours qui demandent des paquets spécifiques, on a tendance à utiliser pip pour installer ces paquets, comme recommandé dans leurs documentations.

Or utiliser pip en conjonction avec Anaconda n'est pas conseillé car il y a alors deux gestionnaires de paquets qui s'ignorent l'un l'autre et cela peut créer des soucis de versions.

De plus, l'expérience montre qu'Anaconda est un peu limité en ce qui concerne l'installation de Tensorflow pour le cours de Deep learning (en 2025 en tout cas, on a une version qui n'est pas à jour, et une installation interminable).

Si vous avez déjà installé Anaconda, vous avez accès à Jupyter Lab, c'est tout ce qu'on veut et vous pouvez directement passer à la section sur Pipenv. Sinon je donne aussi les instructions pour installer Python et Jupyter Lab sans nécessiter Anaconda (c'est plus léger mais vous n'aurez pas d'icône de lancement de Jupyter, par exemple).

Installer Python, pipx et Jupyter Lab

Linux

Si vous êtes sur Ubuntu / Mint / Debian, les lignes de commandes suivantes installent d'abord Python et pipx sur votre ordinateur, puis on utilise pipx pour installer Jupyter Lab en tant qu'exécutable.

sudo apt install python3 python3-pip pipx
pipx install jupyterlab
pipx inject --include-apps jupyterlab notebook jupyter_client

Vous pourrez ensuite (pas maintenant, ce n'est pas fini) lancer Jupyter Lab en exécutant jupyter-lab depuis le terminal. La troisième ligne permet aussi de lancer la version "notebook" de Jupyter avec jupyter-notebook, et de gérer les "kernels" disponibles dans Jupyter (voir plus bas).

Si vous n'êtes pas sur Ubuntu / Mint / Debian, j'imagine que vous savez utiliser votre gestionnaire de paquets, et Jupyter Lab est peut-être directement installable via celui-ci (pas le cas sous Debian).

Windows ou macOS

Utilisez l'installateur le plus récent pour Windows ou macOS, puis ouvrez un terminal (cherchez Windows Powershell, ou Terminal) et lancez la commande:

pip install jupyterlab

Vous pourrez ensuite (pas maintenant, ce n'est pas fini) lancer Jupyter Lab en exécutant jupyter lab depuis le terminal. La version "Notebook" de Jupyter devrait elle aussi être installée, on peut la lancer avec jupyter notebook.

Installer Pipenv

Pipenv permet de gérer des environnements Python facilement. Un environnement est une installation complète de Python et d'un ensemble de paquets choisis, dans un répertoire spécifique. De manière générale, cette installation n'interagit pas avec le reste de votre ordinateur, sauf quand vous le voulez: il faut par exemple activer un environnement pour utiliser les paquets spécifiques, etc. Une autre façon (que l'on décrit plus bas) d'utiliser un environnement spécifique dans Jupyter passe par l'installation d'un kernel.

Si vous avez installé Anaconda, vous avez déjà un environnement d'installé sur votre ordinateur (l'environnement de base selon Anaconda). La commande conda permet de gérer les environnements Anaconda, mais ici on va voir comment créer et utiliser un environnement avec Pipenv (en particulier on va pouvoir se créer un environnement dédié au Deep learning en installant Tensorflow).

Si vous avez utilisé les instructions ci-dessus pour installer Python et Jupyter, je vous déconseille d'installer quoi que ce soit directement avec pip. À la place, vous pouvez créer un environnement de base avec les instructions qui suivent.

Linux

Si vous êtes sur Ubuntu / Mint / Debian:

sudo apt install pipenv

Sinon vous pouvez sans doute suivre les instructions pour Windows ou macOS.

Windows ou macOS

Ouvrez un terminal (cherchez Windows Powershell, ou Terminal) et lancez la commande:

pip install --user pipenv

Utiliser Pipenv pour gérer un environnement

On va maintenant créer un environnement et faire en sorte de pouvoir l'utiliser depuis Jupyter. Ici, on utilise l'exemple de créer un environnement spécifique au Deep learning, qui contiendra en particulier Tensorflow, et que l'on nommera deep_learning.

  1. Créez d'abord dans un dossier qui contiendra les informations nécessaires à Pipenv pour gérer votre environnement. Par exemple, vous pouvez créer un dossier Python_envs dans votre répertoire personnel, puis un sous-dossier du nom souhaité pour l'environnement, ici deep_learning.

  2. (Important) Placez-vous dans ce dossier depuis un terminal. Rappelez-vous, on se déplace avec la commande cd (oui, même sur Windows ou macOS).

  3. Création de l'environnement, avec Numpy, Matplotlib et Tensorflow. On rajoute un paquet ipykernel qui servira à faire le lien avec Jupyter dans l'étape suivante.

    pipenv install numpy matplotlib tensorflow ipykernel
    
  4. Création du kernel Jupyter lié à cet environnement.

    pipenv run ipython kernel install --user --name deep_learning --display-name "Python (deep_learning)"
    

Voilà, maintenant vous pouvez lancer Jupyter, et créer un nouveau notebook en choisissant le kernel qui s'appelle Python (deep_learning). Si plus tard, vous avez besoin de créer un nouvel environnement contenant des paquets spécifiques, vous pouvez répéter les étapes ci-dessus en adaptant les noms des paquets et de l'environnement.

Vous pouvez aussi directement installer de nouveaux paquets dans un environnement existant. Pour faire cela, placez-vous dans le dossier correspondant à l'environnement existant et lancez:

pipenv install [noms des paquets souhaités]

Un défaut: plus vous avez de paquets, plus vous avez de risques de non-compatibilité avec de nouveaux paquets en fonction des versions installées. Parfois ça plantera, et la solution est probablement de créer un nouvel environnement.

Pour finir: vous pouvez vouloir désinstaller un kernel Jupyter, si vous n'utilisez plus un ancien environnement par exemple, et que la liste de vos kernels est trop longue. Pour cela, ouvrez un terminal, puis lancez:

jupyter-kernelspec uninstall deep_learning

(ou bien remplacez deep_learning par le nom du kernel à supprimer). Si vous voulez carrément supprimer un environnement (et tous les paquets installés avec, qui prennent de la place sur votre ordinateur), déplacez-vous dans le dossier de l'environnement, puis lancez pipenv --rm. Enfin, vous pouvez supprimer le dossier en question (attention, vous avez peut-être créé des documents de travail dans ce dossier: vérifiez d'abord !).