CommandNotFoundError: su shell no se ha configurado correctamente para usar ‘activar conda’

5 minutos de lectura

Avatar de usuario de Leo.H
Leo.H

Estoy tratando de crear un entorno virtual usando conda en Google Colaboratory. Sin embargo, no puedo activar con el siguiente error.

    CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init

Tres cosas que he intentado: una es agregar el siguiente código a ~/.bashrc

# >>> conda init >>>
__conda_setup="$(CONDA_REPORT_ERRORS=false '$HOME/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
    \eval "$__conda_setup"
else
    if [ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]; then
        . "$HOME/anaconda3/etc/profile.d/conda.sh"
        CONDA_CHANGEPS1=false conda activate base
    else
        \export PATH="$PATH:$HOME/anaconda3/bin"
    fi
fi
unset __conda_setup
# <<< conda init <<<

# ~~~~~~~~~~~~
conda create --name XXXXXX python=3.6 -y
conda activate XXXXXX 
# ~~~~~~~~~~~~

En segundo lugar, agregué el siguiente código a ~/.bashrc

export PATH="$PYENV_ROOT/versions/anaconda3-2.5.0/bin/:$PATH"

En tercer lugar, agregué el siguiente código a ~/.bashrc

. /opt/anaconda3/etc/profile.d/conda.sh
conda activate base

Si trato de activar cada uno de ellos, obtengo el mismo error. Si alguien sabe cómo solucionarlo, por favor comparta su sabiduría.

Gracias

  • ¿Puedes dar la salida de echo $SHELL. Sospecho que tu shell no carga ~/.bashrc – tal vez usa un archivo diferente. También recomendaría deshacer todas las modificaciones en ~/.bashrc y solo uso conda init <shell-name> para modificarlo, especialmente los últimos hacen más daño que bien.

    – cel

    20 de mayo de 2020 a las 14:27


  • Este enfoque por conda es un absoluto desastre. Incontables horas perdidas aquí.

    – Proyectos de la costa oeste

    22 de marzo a las 1:02

  • NOTA: source ~/anaconda3/bin/activate … luego haz lo habitual para resolverlo. siendo habitual conda activar myenv

    – matemáticas

    17 de mayo a las 1:06


La respuesta está aquí:
https://github.com/conda/conda/issues/7980

source ~/anaconda3/etc/profile.d/conda.sh
conda activate my_env

Tal vez también estés usando la ruta anaconda/miniconda incorrecta. Use el que resulta de este comando:

conda info | grep -i 'base environment'

🙂

  • ¡Gracias! Trabajó para mi. solo obtenga la ruta de conda primero desde el segundo comando.

    – Narendra

    17 de marzo de 2021 a las 3:46

  • En los comandos anteriores, reemplace ~/anaconda3/ con la ruta a su instalación de miniconda / anaconda. Puede averiguarlo ejecutando: conda info | grep -i ‘entorno base’

    – Stev3

    10 sep 2021 a las 19:14

  • Pero parece que no me funciona… !source /root/anaconda3/etc/profile.d/conda.sh !/root/anaconda3/bin/conda activate maskrcnn_benchmark da CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init <SHELL_NAME> Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell after running 'conda init'. ¿Como arreglarlo?((

    – TopCoder2000

    12 de septiembre de 2021 a las 6:50


  • y agregando export -f conda export -f __conda_activate export -f __conda_reactivate export -f __conda_hashr en /root/.bashrc tampoco funciona

    – TopCoder2000

    12 de septiembre de 2021 a las 7:03


  • esto funcionó para mí

    – Carlos

    20 de enero de 2022 a las 15:26

avatar de usuario de tikendraw
dibujar

primero tienes que correr

  1. Activar entorno base como este
source ~/anaconda3/bin/activate

o

source ~/miniconda3/bin/activate
  1. después
conda init <your terminal type>

p.ej:

conda init bash

obtendrás algo como

no change     /home/t/anaconda3/condabin/conda
no change     /home/t/anaconda3/bin/conda
no change     /home/t/anaconda3/bin/conda-env
no change     /home/t/anaconda3/bin/activate
no change     /home/t/anaconda3/bin/deactivate
no change     /home/t/anaconda3/etc/profile.d/conda.sh
no change     /home/t/anaconda3/etc/fish/conf.d/conda.fish
no change     /home/t/anaconda3/shell/condabin/Conda.psm1
no change     /home/t/anaconda3/shell/condabin/conda-hook.ps1
no change     /home/t/anaconda3/lib/python3.9/site-packages/xontrib/conda.xsh
no change     /home/t/anaconda3/etc/profile.d/conda.csh
no change     /home/t/.bashrc

3.Cierre la ventana de terminal actual y ábrala de nuevo (básicamente vuelva a abrir). Ahora si escribes conda activate deberia de funcionar

t@t:~$ conda activate
(base) t@t:~$ ^C
(base) t@t:~$ 

  • Estoy en un script y no puedo cerrar/reabrir

    – Proyectos de la costa oeste

    2 mayo 2022 a las 18:40

  • Hacer source ~/.bashrc después conda init bash .

    – tikendraw

    9 de febrero a las 7:04

Para mí, la última respuesta aquí funcionó. Es un poco inconveniente pero mejor que nada… Entonces, si es necesario ejecutar algo en el entorno de conda, solo pongo !source <path_to_activate_function> my_env antes de otros comandos, de la siguiente manera:

!source ~/anaconda3/bin/activate vilbert-mt && conda env list

Me encontré con este problema al intentar ejecutar conda init zsh desde dentro de la terminal VSCode. Después de un poco de exploración, descubrí que conda estaba cambiando una versión del .zshrc eso parece ser específico de VSCode:

modified /var/folders/7d/v4z10qpx333_0397n8nrw6pr0000gn/T/vscode-zsh/.zshrc

Ejecutar esto directamente en una terminal separada resolvió el problema para mí. Sospecho que el mismo tipo de problema podría presentarse para cualquiera de los shells de VSCode compatibles.

¿Ha sido útil esta solución?