Pourquoi “(base)” apparaît-il devant l'invite de mon terminal?

88

Comme dans le titre, je me demande pourquoi je vois (base)à gauche de mon invite de terminal.

Si je cours source ~/.profiledans le terminal, il disparaît.

Si je ferme ce terminal et rouvre un nouveau terminal, (base)y est-il à nouveau.

J'aimerais savoir ce que c'est, merci.

Découvrez dans l'image:

Image de mon invite

Voici le contenu de mon contenu .profile(à l’exclusion des éléments standard $ path et autres éléments personnalisés):

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

Voici le contenu de mon .bashrc

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

# added by Anaconda3 installer
#export PATH="/home/jim/anaconda3/bin:$PATH"
. /home/jim/anaconda3/etc/profile.d/conda.sh
conda activate

J'ai cherché partout, mais je n'ai pas trouvé de réponse. Un autre utilisateur a posé les mêmes questions, mais il n’ya pas encore de réponse:

Jimmy
la source

Réponses:

37

Cela semble provenir de votre condaenvironnement. Vous en particulier, l' activation condade votre ~/.bashrccomme suit

# added by Anaconda3 installer
#export PATH="/home/jim/anaconda3/bin:$PATH"
. /home/jim/anaconda3/etc/profile.d/conda.sh
conda activate

et conda activateajoute à votre invite une invite (<env-name->)- car, par défaut, vous ne spécifiez pas un environnement particulier (base).

Le comportement est documenté dans Utilisation du fichier de configuration conda .condarc :

Modifier l'invite de commande (changeps1)

Lors de l'utilisation de activate, modifiez l'invite de commande de $ PS1 pour inclure l'environnement activé. La valeur par défaut est True.

EXEMPLE:

changeps1: False

Donc, pour le faire disparaître, recherchez et modifiez votre .condarcfichier - ou n'activez pas conda à partir de votre ~/.bashrcfichier.

Steeldriver
la source
105

Cela peut également être dû au auto_activate_basefait qu'il est défini sur True. Vous pouvez vérifier cela en utilisant la commande suivante

conda config --show | grep auto_activate_base

Pour le définir faux

conda config --set auto_activate_base False
bksahu
la source
5
Cette commande m'a finalement aidé! Les autres solutions ne fonctionnaient pas car my changeps1était déjà défini sur false. L'erreur dans mon cas est venue après que j'ai installé matplotlibvia conda. Avant (base)ne serait jamais montrer. Merci d'avoir ajouté cette ligne pour vérifier la configuration!
Andrusch
enfin quelqu'un frappe la marque. Mais savez-vous pourquoi cette valeur est soudainement basculée sur True? (Dans mon cas, ça n'a pas été comme ça pendant longtemps)
HongboZhu
2
PS: le terminal doit être fermé et rouvert pour que le changement prenne effet
Nino Filiu
Cela semble avoir fonctionné pour moi aussi. Cependant, mon objectif était uniquement de supprimer les (base)caractères de l'invite de commande; Je ne veux pas changer ma configuration conda / python / jupyter / etc. > Cela supprimera- t-il uniquement(base) l'invite sans aucun effet secondaire? Sinon, quels pourraient en être les effets secondaires?
TransferOrbit
Merci pour la solution. Cela a fonctionné pour moi.
Suraj Dubey
24

(base) apparaît en raison d'un changement d'environnement conda.

La commande suivante masque l’environnement (de base).

conda config --set changeps1 False
Felix Salomon
la source
1
Pour le supprimer uniquement pour l'environnement de base mais pas pour les autres, vérifiez ceci: stackoverflow.com/questions/55171696/…
Homero Esmeraldo
3

Pour désactiver un environnement conda, entrez:

conda deactivate

Cela supprimera le (base)avant votre invite Linux, comme on le voit ici:

(base) utilisateur @ office-pc: ~ $

Marley Davis
la source
-1

a couru le code ci-dessous puis entré conda deactivateet la base est partie.

echo >&2 "DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'."
"$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?

désactiver

Steven Peterson
la source
-1

Il semble que ce soit encore une caractéristique expérimentale d’Anaconda.

Pour revenir à la normale, vous pouvez exécuter la commande:

conda init --reverse

Ensuite, vous devez fermer la fenêtre de shell actuelle et en ouvrir une nouvelle pour voir les modifications.

Anderson Chaves
la source