即使在git-bash.exe上运行良好,“ conda activate”在bash.exe上也会失败

时间:2019-07-30 09:26:38

标签: python bash shell conda git-bash

我想在bash.exe上使用“ conda activate”,因为我将其设置为VSCode默认终端。在F5调试运行时使用。

系统
-Windows 10
-Visual Studio代码1.36.1
-康达4.7.10
-适用于Windows v2.22.0的Git

环境变量由Anaconda安装管理器设置,并且python命令在任何情况下均可使用。但是conda activate没有。 此命令在新的bash.exe中失败,并显示以下错误。

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
If using 'conda activate' from a batch script, change your
invocation to 'CALL conda.bat activate'.

To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - cmd.exe
  - 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'.

conda activate仅在以下情况下有效:
1.在git-bash.exe
上 2.打开bash.exe,然后通过exec $SHELL -l重新启动Shell,然后执行“ conda activate”

关于1.,即使git-bash.exe和bash.exe是相同的用户和shell(whoamiecho $SHELL),为什么它们之间还是有这样的区别,也许参考相同的设置文件(/.bashrc等)?

conda activate应该在新的bash.exe中完成。 我应该检查什么? 谢谢。

1 个答案:

答案 0 :(得分:0)

同样的问题。首先,您必须从 bash shell 运行:

conda init bash

它会向~\.bash_profile添加一些命令,但看起来从VSCode启动终端没有运行.bash_profile

只需将下面添加的命令从 ~\.bash_profile 移动到 ~\.bashrc,一切正常

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
eval "$('/c/Miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
# <<< conda initialize <<<