Gestionnaires de paquets logiciels conda & mamba

Afin de bénéficier d’une version de Python récente, il est souvent plus pratique et rapide d’utiliser des logiciels de gestion de paquets logiciels pour installer un environnement Python complet. Ce type de gestionnaires de paquets permet ainsi, en plus de Python, et de ses principaux modules, d’installer l’environnement système requis, sans qu’aucune compilation ne soit nécessaire.

Il existe principalement deux gestionnaires de paquets logiciels communément utilisés pour installer et gérer des versions de Python :

  • les distributions Anaconda et Miniconda basées sur la CLI conda ;

  • les distributions Mamba et Micromamba basées sur la CLI mamba (micromamba étant une version plus légère de mamba).

Les interfaces en lignes de commande (CLI) de ces gestionnaires de paquets proposent par ailleurs des commandes pour créer et gérer des environnements Python multiples, de façon robuste. Ils donnent également accès à une collection importante de paquets logiciels, disponibles via des canaux. On notera que certains de ces canaux, en particulier ceux utilisés par défaut par la distribution Anaconda, sous soumis à une licence Anaconda.

Note

Plusieurs versions de ces distributions sont disponibles au CC-IN2P3. Veuillez vous référer à la syntaxe des logiciels de gestion d’environnement pour lister et charger la version souhaitée.

Environnement Python

Bien que nous donnons ci-dessous les principales commandes pour gérer son environnement Python à partir de la CLI conda, les commandes utilisant la CLI mamba sont identiques, assurant ainsi la portabilité des scripts.

Pour créer un nouvel environnement Python, il faut utiliser la commande suivante, après avoir chargé la version souhaitée comme indiqué ci-dessus :

% conda create --prefix /<chemin>/<nom environnement> python=<version>

L’option --prefix est recommandée afin de spécifier un chemin avec les droits d’écriture pour créer l’environnement et en préviligiant un espace de stockage partagé, car les environnements conda peuvent être volumineux.

On peut répliquer un environnement existant comme suit :

% conda env export > environment.yml

Cette commande exporte les caractéristiques d’un environnement actif, et créer le fichier environment.yml, qu’on pourra utiliser pour dupliquer cet environnement :

% conda create -n <nom nouvel environnement> -f environment.yml

Pour activer un environnement, il faut utiliser la commande :

% conda activate /<chemin>/<nom environnement>

Pour installer un paquet logiciel donné, disponible dans le canal <canal>, il faut utiliser la commande :

% conda install -c <canal> <paquet>

Veuillez aussi prendre en considération les conseils sur les installations personnalisées.

Pour désactiver l’environnement actif, il faut utiliser la commande :

% conda deactivate

Pour plus de détails sur la gestion des environnements, merci de vous référer aux documentations officielles de conda et mamba.

Licence Anaconda

En vue des conditions du service de Anaconda, limitant le nombre d’utilisateurs sans licence payante, il est nécessaire d’éviter les canaux logiciels suivants, utilisés par défaut dans la distribution Anaconda, et qui fournissent les paquets couverts par la licence :

  • pkg/main

  • pkgs/r

  • pkg/msys2

Pour vérifier les canaux logiciels utilisés, lancez la commande :

% conda config --show channels

Pour vérifier l’utilisation de paquets à licences payantes, lancez la commande :

% conda list --explicit

Recommandations

Il est recommandé de passer aux distributions Miniconda ou Micromamba, et de les configurer via le fichier .condarc avec les lignes suivantes :

channels:
- nodefaults
- conda-forge
channel_priority: strict

Important

L’utilisation de conda, en tant que CLI, demeure gratuite.