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 demamba
).
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.