更新conda后如何从终端提示中删除(base)

时间:2019-03-14 20:46:16

标签: bash terminal anaconda conda miniconda

更新miniconda3后,每当我打开一个终端时,它都会在用户名和主机前面显示“(base)”。

在此答案帖子https://askubuntu.com/a/1113206/315699中,建议使用

conda config --set changeps1 False

要删除它。

但是,这将删除任何有关conda环境的指示。我只想将其删除,以便我可以使其始终保持活动状态,并可以访问其python和已安装的软件包,而不必始终看到这个(基本)占用空间。

10 个答案:

答案 0 :(得分:11)

那是因为conda的基本环境在启动时被激活。

要将auto_activate_base参数设置为false,请输入:

conda config --set auto_activate_base false

答案 1 :(得分:8)

默认情况下,安装anaconda时auto_activate_base设置为True。 要对此进行检查,请运行:

conda config --show | grep auto_activate_base

输出>>> auto_activate_base: True

设置为假

conda config --set auto_activate_base False

反之亦然

答案 2 :(得分:5)

对我来说,有效的方法是:

conda config --set changeps1 false 

答案 3 :(得分:4)

使用base环境的激活钩子

对于每个环境,etc/conda/activate.d目录中的所有脚本都将在激活后执行(同样,用于激活的etc/conda/deactivate.d脚本)。如果您添加脚本来删除(base)(类似于@ewindes suggestion),则会获得所需的行为。

我必须为 base 创建此目录,该目录只是Anaconda / Miniconda文件夹的根目录。例如,

mkdir -p miniconda3/etc/conda/activate.d

然后在其中用一行创建一个简单的文件(例如remove_base_ps1.sh):

PS1="$(echo $PS1 | sed 's/(base) //') "

启动新外壳程序后不会显示(base),并且从嵌套env中停用也可以解决PS1更改。

答案 4 :(得分:2)

您可以在.bashrc中添加命令,以从PS1中删除“(基本)”字符串:

PS1=$(echo $PS1 | sed 's/(base)//')

答案 5 :(得分:2)

如果您是macOS用户,并且最近遇到过此类问题。这是解决方案。只需打开终端,然后键入。

停用conda

此解决方案对我有用。像以前一样,我使用anaconda python尝试了一些东西。

答案 6 :(得分:0)

在我的macOS Catalina安装上,我刚运行conda config --set env_prompt ""。那对我来说就删除了。

答案 7 :(得分:0)

只需将〜/ .bashrc中的所有行注释掉,环境变量除外:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#__conda_setup="$('/home/<user>/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
#    eval "$__conda_setup"
#else
#    if [ -f "/home/<user>/anaconda3/etc/profile.d/conda.sh" ]; then
#        . "/home/<user>/anaconda3/etc/profile.d/conda.sh"
#    else
        export PATH="/home/<user>/anaconda3/bin:$PATH"
#    fi
#fi
#unset __conda_setup
# <<< conda initialize <<<

答案 8 :(得分:0)

在 Debian 系统上,之后

conda config --set auto_activate_base false

不要忘记为了在终端中发生效果而无需重新加载 gnome

bash --login

并验证标志的状态

conda config --show | grep auto_activate_base

答案 9 :(得分:-1)

使用conda和vscode时。如果您拥有conda,那么conda会在您的项目中激活虚拟环境,如果没有,那么conda和vscode会为您创建一个称为base的虚拟环境。

要停用它,请使用:

conda deactivate