Aller au contenu principal

Une question récurrente est "Comment puis-je installer les paquets python dont j'ai besoin?".

L'utilisateur peut installer des paquets avec pip install --user ce qui va installer des paquets compatibles avec /usr/bin/python dans $HOME/.local/.

Cette approche devient difficile à gérer dès que l'utilisateur veut utiliser python pour des projets différents, qui demandent des versions python spécifiques, des versions de paquets différentes etc.

Il convient alors de créer des environnement isolés pour chaque projet.

conda

Nous préconisons l'utilisation d'environnements virtuels conda pour vos projets Python.

Sur Zeus, Miniconda 23.11, Python 3.11 (20/12/2023) est disponible en tant que module (conda/23.11-py311).

Charger l'environnement conda

Pour charger l'environnement :

module load conda/23.11-py311

ou simplement

ml conda

Au chargement du module la commande suivante est exécutée, initialisant conda

source `$CONDA_PREFIX/etc/profile.d/conda.sh`

Il n'y a donc pas besoin d'exécuter conda init (qui modifie votre ~/.bashrc).

Par contre, l'environnement de base n'est pas automatiquement activé.

Lister les environnements conda existants

conda env list

montre les environnements conda disponibles. Par exemple

# conda environments:
#
testenv /home/jan.gmys/.conda/envs/testenv
base /share/tools/miniconda3/23.11
python311-tensorflow /share/tools/miniconda3/23.11/envs/python311-tensorflow
python311-tools /share/tools/miniconda3/23.11/envs/python311-tools
pytorch-gpu /share/tools/miniconda3/23.11/envs/pytorch-gpu
scikit-learn /share/tools/miniconda3/23.11/envs/scikit-learn
tf-gpu /share/tools/miniconda3/23.11/envs/tf-gpu

Activer un environnement

conda activate python311-tensorflow

Si l'environnement est activé avec succès, le nom de l'environnement apparaît devant votre invite de commandes.

(python311-tensorflow) jan.gmys@zeus-2:~$

Désormais, votre python est celui de l'environnement conda:

(python311-tensorflow) jan.gmys@zeus-2:~$ which python
/share/tools/miniconda3/23.11/envs/python311-tensorflow/bin/python

Inspecter un environnement

Avec

conda list -n base

on peut voir les packages installés dans l'environnement base.

conda list donne les packages installés dans l'environnement actuel.

Créer un nouvel environnement

Vous pouvez créer un nouvel environments personnalisable avec

conda create -n my_new_environment

Cet environnement sera installé (par défaut) sous /home/jan.gmys/.conda/envs/my_new_environment.

Pour cloner un environnement existant et de le personnaliser ensuite

Cloner un environnement

conda create -n my_new_env_cloned --clone my_env

Installer des paquets

conda install functools
pip install abc

Effacer des paquets

conda remove package_name efface le paquet package_name de l'environnement actif.

conda remove -n env_name package_name efface le paquet package_name de l'environnement env_name.

Desactiver un environnement

conda deactivate

desactive l'environnement actuel

Effacer un environnement

Pour effacer un environnement my_env :

conda remove -n my_env --all