Skip to main content

Miniforge

Utilisation de Miniforge et Mamba

 

Miniforge est une distribution minimale fournissant Conda et Mamba, avec conda-forge comme canal de paquets par défaut.

Ces outils permettent de créer des environnements logiciels indépendants, contenant les bibliothèques et versions nécessaires à vos projets. Mamba propose des commandes proches de celles de Conda et une gestion performante des dépendances.

Miniforge est installé sur les nœuds de calcul du cluster Slurm, via le module miniforge3.

 

Configuration initiale

Créez ou adaptez le fichier ~/.mambarc dans votre répertoire personnel avec le contenu suivant :

channels:
  - conda-forge
channel_priority: strict
ssl_verify: true

envs_dirs:
  - ~/.mamba/envs

pkgs_dirs:
  - ~/.mamba/pkgs

Cette configuration définit :

  • conda-forge comme canal de paquets ;
  • une priorité stricte entre les canaux ;
  • la vérification des certificats HTTPS ;
  • l’emplacement de vos environnements et du cache des paquets.

Les répertoires proposés se trouvent dans votre homedir : ils restent donc soumis à son quota et à ses conditions d’accès Kerberos.

 

Ouvrir une session sur un nœud de calcul

Depuis la frontale, demandez une session interactive :

salloc -p single -N 1 -n 1 -c 4 --time=02:00:00

Une fois connecté au nœud attribué, chargez le module :

module load miniforge3

 

Initialiser Mamba

Initialisez Mamba pour le shell courant.

Avec Zsh :

eval "$(mamba shell hook --shell zsh)"

Avec Bash :

eval "$(mamba shell hook --shell bash)"

Cette initialisation s’applique à la session en cours.

 

Créer et activer un environnement

Par exemple, pour créer un environnement nommé my_env contenant Python et NumPy :

mamba create -n my_env python numpy

Activez-le ensuite :

mamba activate my_env

Vous pouvez alors utiliser les logiciels installés dans cet environnement :

python

La création de l’environnement ne s’effectue qu’une fois. Lors des prochaines sessions, il suffit de charger le module, d’initialiser Mamba et d’activer l’environnement.

 

Commandes courantes

CommandeAction
mamba env listAfficher les environnements disponibles.
mamba listAfficher les paquets de l’environnement actif.
mamba install scipyInstaller un paquet dans l’environnement actif.
mamba deactivateQuitter l’environnement actif.

 

Utilisation dans un script Slurm

Dans un script commençant par #!/bin/bash, utilisez l’initialisation pour Bash, même si votre shell interactif habituel est Zsh.

Après les directives #SBATCH, ajoutez :

module load miniforge3
eval "$(mamba shell hook --shell bash)"
mamba activate my_env

python mon_programme.py

L’environnement doit avoir été créé avant la soumission du job et être accessible depuis le nœud de calcul.

 

Bonnes pratiques

  • Créez un environnement par projet pour maîtriser ses dépendances.
  • Installez vos paquets dans cet environnement, plutôt que dans l’environnement partagé base.
  • Évitez de charger simultanément les modules miniconda3 et miniforge3.
  • Ne modifiez pas un environnement pendant que des jobs l’utilisent.

Conda et Mamba peuvent gérer les mêmes environnements. Pour garder une procédure homogène, les exemples de cette page utilisent Mamba.

taxonomy_wiki_public