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:
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
5
conda create --name new_name --copy --clone old_name es mejor
Yo uso el conda create --name new_name --clone old_nameque está sin --copy
pero encontró pip breaks ...
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 ',
Respuestas:
No puedes
Una solución alternativa es crear un entorno de clonación y luego eliminar el original:
(recuerde desactivar el entorno actual
deactivate
en Windows ysource deactivate
en macOS / Linux)Hay varios inconvenientes de este método:
--offline
flag para deshabilitarlo,Hay un problema abierto que solicita esta función.
fuente
conda create --name new_name --clone old_name
luego puede eliminar el anterior..bashrc
ya no funcionaba y al intentar ejecutarlopytest
fallaba, 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.Basado en el útil comentario de dwanderson , pude hacer esto en una frase de Bash:
Mi env mal llamado era "env1" y el nuevo que deseo clonar es "envpython2".
fuente
PackagesNotFoundError: The following packages are not available from current channels
con 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.conda create --name new_name --copy --clone old_name
es mejorYo uso el
conda create --name new_name --clone old_name
que está sin--copy
pero encontró pip breaks ...la siguiente URL puede ayudar. La instalación de tensorflow en un entorno conda clonado rompe el entorno conda del que fue clonado
fuente
Simplemente abra la carpeta "\ Anaconda \ envs" y cámbiele el nombre.
Antes de renombrar
Después de renombrar
fuente