¿Cómo puedo cambiar el nombre de un entorno conda?

Respuestas:

458

No puedes

Una solución alternativa es crear un entorno de clonación y luego eliminar el original:

(recuerde desactivar el entorno actual deactivateen Windows y source deactivateen 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`

Hay varios inconvenientes de este método:

  1. vuelve a descargar paquetes: puede usar --offlineflag para deshabilitarlo,
  2. tiempo consumido al copiar archivos del entorno,
  3. uso temporal de doble disco.

Hay un problema abierto que solicita esta función.

pkowalczyk
fuente
90
booooo ¿por qué no se puede cambiar el nombre de una conda env?
Charlie Parker
66
para dejar algo de trabajo para aquellos que bifurcan conda y de ese modo hacerles entender mucho más en el camino: P: D
Saravanabalagi Ramachandran
3
Otra forma es clonar el entorno y conda create --name new_name --clone old_nameluego puede eliminar el anterior.
Yda
44
Palabra de advertencia: intenté hacer esto y me encontré con errores extraños: mi .bashrcya no funcionaba y al intentar ejecutarlo pytestfallaba, tratando de hacer referencia al entorno ahora eliminado. Probé conchas nuevas y reinicié sin suerte. Terminé teniendo que volar el nuevo entorno y luego comenzar con una instalación limpia. Más lento, pero parece que realmente funciona ahora.
dwanderson
3
@dwanderson +5000, ya que iba a tratar de usar esta respuesta, pero en lugar de eso solo voy a quitar la venda y recrear mi mal nombre env desde cero.
bgoodr
13

Basado en el útil comentario de dwanderson , pude hacer esto en una frase de Bash:

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

Mi env mal llamado era "env1" y el nuevo que deseo clonar es "envpython2".

bgoodr
fuente
1
Se encontró con un error que decía PackagesNotFoundError: The following packages are not available from current channelscon este script. Este script probablemente solo funciona cuando no tiene paquetes que están instalados con pip y que no están disponibles en conda en el entorno existente.
Yuxuan Chen
-41

Simplemente abra la carpeta "\ Anaconda \ envs" y cámbiele el nombre.

Antes de renombrar antes de cambiar el nombre

Después de renombrar después de cambiar el nombre

mengLV LI
fuente
13
Esta respuesta rompe a Jupyter. Jupyter informa "ruta no encontrada" cuando intenta iniciar el núcleo de Python.
MD004
55
Existe un gran riesgo de romper el medio ambiente
FabienP
2
no hagas esto.
BenP
Una de las razones es una mala idea: hay archivos dentro del directorio env / name que contienen la ruta absoluta a ese directorio. Si mueve el directorio, la ruta ya no funcionará, ya que apunta al directorio anterior que ya no existe: envs / ds_tensorflow / Lib / site-packages / sipconfig.py: 'default_bin_dir': 'C: / Users / me / miniconda3 / envs / ds_tensorflow ', envs / ds_tensorflow / Lib / site-packages / sipconfig.py:' default_mod_dir ':' C: / Users / me / miniconda3 / envs / ds_tensorflow \\ Lib \\ site-packages ',
Donald S