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