Sommaire
Autres solutions pour cloner un environnement Conda
1. Cloner d'une machine A vers une machine B
1.1. conda list --export
Sur la machine A :
on liste le contenu de l'environnement <env> à exporter, dans un fichier envlist.txt :
conda list -n <env> --export > envlist.txt
le fichier envlist.txt ainsi créé contient le nom des paquets avec leur numéro de version.
on copie le fichier envlist.txt sur la machine B :
scp envlist.txt B:
Sur la machine B :
On crée l'environnement en spécifiant l'option --file :conda create -n <env> --file envlist.txt
Si l'environnement a été construit à partir de dépôts particuliers qui ne sont pas présents dans le fichier B:$HOME/.condarc, il faut les spécifier avec l'option -c CHANNEL sinon la commande de création échoue, par exemple : conda create -n <env> -c CHANNEL --file envlist.txt
1.2. conda list --explicit
Sur la machine A :
on liste le contenu de l'environnement <env> à exporter dans un fichier envlisturl.txt :
conda list -n <env> --explicit > envlisturl.txt
le fichier envlisturl.txt ainsi créé contient le nom des paquets avec l'url complet.
on copie le fichier envlisturl.txt sur la machine B :
scp envlisturl.txt B:
Sur la machine B : On crée l'environnement en spécifiant l'option --file :
conda create -n <env> --file envlisturl.txt
Contrairement à la solution précédente, pas la peine de spécifier un quelconque dépôt au moment de la création car la liste des paquets est fournie avec les urls complets.
2. Cloner sur un même hôte
Utiliser l'option --clone de la commande 'conda create'.
Par exemple pour cloner l'environnement existant my_env en new_env, exécuter :
conda create -n new_env --clone my_env
Il est possible de spécifier directement le chemin de l'environnement à cloner :
conda create -n new_env --clone <PATH_TO_ENV>
avec par exemple <PATH_TO_ENV> = $HOME/miniconda3/envs/my_env
Généralement, cette opération est rapide car elle ne nécessite pas de connexion réseau pour récupérer les paquets (sauf si un conda clean a été effectué auparavant).
