Nous encourageons vivement les utilisateurs à créer leur propre environnement Python avec la distribution Miniconda plutôt que d’utiliser les distributions Python centralisées disponibles avec les modules du cluster. Vous pouvez ainsi travailler avec les dernières mises à jour plus rapidement, obtenir des améliorations de performances et éviter d’éventuelles incompatibilités entre différents modules.
Avec Miniconda, vous pouvez créer votre propre environnement Python ou R et y installer les packages dont vous avez besoin. Vous pouvez même répéter l’opération pour différents projets et ainsi avoir un environnement propre à chacun.
Miniconda est une version minimaliste de Anaconda et embarque un Python de base ainsi que le gestionnaire de packages Conda. Vous pouvez ensuite installer des packages supplémentaires en suivant la procédure ci-dessous.
Pré-requis
Pour utiliser les commandes de miniconda, il vous faut tout d’abord charger le module miniconda sur le nœud de login :
module load miniconda
Créer l’environnement
Créez l’environnement en lui donnant un nom (ici my_env) et en choisissant sa version de Python (ici 3.7) :
conda create --name my_env python=3.7
Les environnements que vous créez sont par défaut ajoutés au dossier /home/$USER/.conda/envs
Vous pouvez aussi spécifier un autre emplacement. Par exemple pour partager un environnement avec les autres utilisateurs de votre projet, vous pouvez l’installer dans votre dossier partagé dans /workspace/votre_groupe :
conda create python=3.7 --prefix /workspace/votre_groupe
Activer son environnement
# Si vous avez donné un nom à votre environnement : conda activate my_env # Si vous l'avez créé avec l'option prefix : conda activate /workspace/votre_groupe
Ajouter un package
conda install package_name
Installer des packages R
Vous pouvez également installer les packages R que vous souhaitez dans votre environnement Miniconda. Pour cela, il faut d’abord y installer R, puis les packages :
conda install -c r r r-essentials R install.packages("nom_du_package", dependencies=TRUE)
Les packages seront installés par défaut dans /home/$USER/.conda/envs/r_env/lib/R/library
Lister vos environnements
conda env list
L’astérisque devant l’un des environnements listés indique celui qui est actuellement utilisé.
Désactiver son environnement
conda deactivate
Supprimer un environnement
Ici, on supprime un environnement du nom de my_env :
conda env remove --name my_env # Si l'environnement avait été créé avec l'option prefix : conda env remove -p /chemin_vers_dossier
Exemple de job
Mettre le contenu suivant dans un fichier, nommé par exemple job.slurm
#!/bin/sh #SBATCH --job-name=python_job_conda #SBATCH --time=0-00:03:00 #SBATCH --account=project_name #SBATCH --output=my_job_output.txt #SBATCH --ntasks=1 #SBATCH --partition=cpucourt module purge module load miniconda conda activate /home/user1/.conda/envs/my_env python /home/user1/jobs/my_code.py conda deactivate
Puis soumettre le job avec la commande sbatch job.slurm depuis login-hpc.