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).
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).
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
.
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.
Si vous êtes sur Ubuntu / Mint / Debian:
sudo apt install pipenv
Sinon vous pouvez sans doute suivre les instructions pour Windows ou macOS.
Ouvrez un terminal (cherchez Windows Powershell, ou Terminal) et lancez la commande:
pip install --user pipenv
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
.
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
.
(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).
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
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 !).