Recientemente instalé anaconda2 en mi Mac. Por defecto, Conda está configurado para activar el entorno base cuando abro una nueva sesión de terminal.
Quiero acceder a los comandos de Conda (es decir, quiero que la ruta a Conda se agregue a mi $ PATH, que Conda hace cuando se inicializa, así que está bien).
Pero normalmente no programo en Python, y no quiero que Conda active un entorno por defecto.
Cuando se ejecuta por primera vez conda init
desde el indicador, Conda agrega lo siguiente a mi .bash_profile
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<
Si comento todo el bloque, no puedo activar ningún entorno Conda.
Traté de comentar todo el bloque, excepto
export PATH="/Users/geoff/anaconda2/bin:$PATH"
Pero cuando comencé una nueva sesión e intenté activar un entorno, recibí este mensaje de error:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Esta pregunta (y otras similares) son útiles, pero en última instancia no responde a mi pregunta y es más adecuada para usuarios de Linux.
Para aclarar, no estoy pidiendo que elimine el (base)
archivo $PS1
. Estoy pidiendo que Conda no active la base cuando abro una sesión de terminal.
source activate
en su lugar? también conocido como "el método de la vieja escuela"Respuestas:
Tengo conda 4.6 con un bloque de código similar que fue agregado por conda. En mi caso, hay una configuración de configuración de conda para deshabilitar la activación de base automática:
La primera vez que lo ejecute, creará un
./condarc
directorio de inicio con esa configuración para anular el valor predeterminado.Esto no desordenará su,
.bash_profile
pero es una solución más limpia sin la edición manual de esa sección que administra Conda.fuente
conda config --describe
. La búsqueda en la base de código para "auto_activate_base" parece mostrar que Conda v4.6.0 es la introducción.conda config --set auto_activate_base false
Gracias por instalar Anaconda3!La respuesta depende un poco de la versión
conda
que haya instalado. Para las versiones de conda> = 4.4, debería ser suficiente paradeactivate
el entorno de conda después de la inicialización, así que agreguejusto debajo
fuente
__conda_setup
función, por lo que puede reducirlo a 6 líneas. Pero no creo que haya mucho que hacer aquí ...Así que al final descubrí que si comentaba el bloque de inicialización de Conda así:
Funciona exactamente como quiero. Es decir, Conda está disponible para activar un entorno si lo deseo, pero no se activa de manera predeterminada.
fuente
rc
archivo? También me interesaría esto, poder tratar a la conda como a otras envidias, en lugar de desordenar las cosasconda config --set auto_activate_base false
, ¿puedes explicarlo?Hay 3 formas de lograr esto después de
conda
4.6. (El último método tiene la máxima prioridad).Use el subcomando
conda config
para cambiar la configuración.De hecho, el antiguo
conda config
subcomando está cambiando el archivo de configuración.condarc
. Podemos modificar.condarc
directamente. Agregue el siguiente contenido en.condarc
su directorio de inicio,Establezca la variable de entorno
CONDA_AUTO_ACTIVATE_BASE
en el archivo de inicio del shell. (.bashrc
para bash,.zshrc
para zsh)La configuración del entorno tiene prioridad sobre la configuración correspondiente en el
.condarc
archivo.Referencias
conda config --describe
fuente
export CONDA_AUTO_ACTIVATE_BASE=false; eval "$(conda shell.bash hook)"
export CONDA_AUTO_ACTIVATE_BASE=false
a mi .zshrc para que la opción 3 funcione.Para deshabilitar la activación automática del entorno base de conda en la terminal:
Para activar el entorno base de conda:
fuente
Una cosa que no se ha señalado es que hay poca o ninguna diferencia entre no tener un entorno activo y activar el entorno base, si solo desea ejecutar aplicaciones desde el directorio de scripts de Conda (Python) (como quiere @DryLabRebel )
Puede instalar y desinstalar a través de conda y conda muestra el entorno base como activo, que esencialmente es:
fuente
Si desea mantener su bashrc simple, puede eliminar todo el
conda init
desorden generado y mantener solo una línea:Consulte Cambio recomendado para habilitar conda en su shell .
Esto hará que el comando conda esté disponible sin activar el entorno base.
Si desea utilizar su bashrc en otros sistemas donde conda no está instalado en la misma ruta, también puede mantener las líneas
if
/fi
para evitar mensajes de error, es decir:fuente
Esto podría ser un error de la anaconda reciente. Lo que funciona para mi:
Paso 1:
vim /anaconda/bin/activate
muestra:Paso 2: comentar la última línea:
# conda activate "$@"
fuente
Me enfrenté al mismo problema. Inicialmente eliminé el .bash_profile pero esta no es la forma correcta. Después de instalar anaconda, muestra claramente las instrucciones para este problema. Por favor revise la imagen para la solución provista por Anaconda
fuente