CommandNotFoundError:您的 shell 尚未正确配置为使用“conda activate”

Leo*_*o.H 10 python bash anaconda conda google-colaboratory

我正在尝试在 Google Colaboratory 上使用 conda 创建一个虚拟环境。但是,由于以下错误,我无法激活。

    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
Run Code Online (Sandbox Code Playgroud)

我尝试了两个改进。我尝试了三个改进。一种是在~/.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 
# ~~~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

其次,我在 ~/.bashrc 中添加了以下代码

export PATH="$PYENV_ROOT/versions/anaconda3-2.5.0/bin/:$PATH"
Run Code Online (Sandbox Code Playgroud)

第三,我将以下代码添加到 ~/.bashrc

. /opt/anaconda3/etc/profile.d/conda.sh
conda activate base
Run Code Online (Sandbox Code Playgroud)

如果我尝试激活它们中的每一个,都会出现相同的错误。如果有人理解,请分享您的智慧。

谢谢

小智 33

答案在这里:https : //github.com/conda/conda/issues/7980

source ~/anaconda3/etc/profile.d/conda.sh
conda activate my_env
Run Code Online (Sandbox Code Playgroud)

也许您也使用了错误的 anaconda/miniconda 路径。使用此命令产生的结果:

conda info | grep -i 'base environment'
Run Code Online (Sandbox Code Playgroud)

:)

  • 谢谢!为我工作。只需首先从第二个命令获取 conda 路径即可。 (6认同)
  • 在上面的命令中,将 ~/anaconda3/ 替换为 miniconda / anaconda 安装路径。您可以通过运行以下命令找到该信息: conda info | grep -i '基础环境' (2认同)

tik*_*raw 22

首先你必须跑

  1. 像这样激活基础环境
source ~/anaconda3/bin/activate
Run Code Online (Sandbox Code Playgroud)

或者

source ~/miniconda3/bin/activate
Run Code Online (Sandbox Code Playgroud)
  1. 在那之后
conda init <your terminal type>
Run Code Online (Sandbox Code Playgroud)

例如:

conda init bash
Run Code Online (Sandbox Code Playgroud)

你会得到类似的东西

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
Run Code Online (Sandbox Code Playgroud)

3.关闭当前终端窗口并再次打开(基本上是重新打开)。现在如果你输入conda activate它应该可以工作

t@t:~$ conda activate
(base) t@t:~$ ^C
(base) t@t:~$ 
Run Code Online (Sandbox Code Playgroud)

  • 我在脚本中,无法关闭/重新打开 (4认同)
  • 在 `conda init bash` 之后执行 `source ~/.bashrc` 。 (3认同)