web-dev-qa-db-fra.com

Comment puis-je renommer un environnement conda?

J'ai un conda environnement nommé old_name, comment puis-je changer son nom en new_name sans rompre les références?

184
pkowalczyk

Tu ne peux pas.

Une solution de contournement consiste à créer l'environnement de clonage, puis à supprimer l'original:

(N'oubliez pas de désactiver l'environnement actuel avec deactivate sous Windows et source deactivate sous macOS/Linux.)

conda create --name new_name --clone old_name
conda remove --name old_name --all # or its alias: `conda env remove --name old_name`

Il existe plusieurs inconvénients de cette méthode:

  1. il retélécharge des paquets - vous pouvez utiliser le drapeau --offline pour le désactiver,
  2. temps passé sur les fichiers de l'environnement de copie,
  3. utilisation temporaire du double disque.

Il y a un open issue demandant cette fonctionnalité.

293
pkowalczyk

Basé sur le commentaire utile de dwanderson , j'ai été capable de le faire dans un Bash one-liner:

conda create --name envpython2 --file <(conda list -n env1 -e )

"Env1" est mon nom mal nommé et le nouveau fichier sur lequel je souhaite le cloner est "envpython2".

5
bgoodr