更新miniconda3后,每当我打开一个终端时,它都会在用户名和主机前面显示“(base)”。
在此答案帖子https://askubuntu.com/a/1113206/315699中,建议使用
conda config --set changeps1 False
要删除它。
但是,这将删除任何有关conda环境的指示。我只想将其删除,以便我可以使其始终保持活动状态,并可以访问其python和已安装的软件包,而不必始终看到这个(基本)占用空间。
答案 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