web-dev-qa-db-fra.com

Comment supprimer (base) de l'invite du terminal après la mise à jour de conda

Après la mise à jour de miniconda3, chaque fois que j'ouvre un terminal, il affiche "(base)" devant mon nom d'utilisateur et mon hôte.

Dans ce message de réponse https://askubuntu.com/a/1113206/315699 il a été suggéré d'utiliser

conda config --set changeps1 False

Pour l'enlever.

Mais cela supprimerait l'indication pour tout environnement conda. Je voudrais le supprimer uniquement pour celui de base, afin de pouvoir le maintenir toujours actif et avoir accès à ses python et packages installés sans avoir à toujours voir cette (base) prendre de la place) .

25
Homero Esmeraldo

Utilisez le crochet d'activation de base env

Pour chaque env, tous les scripts du etc/conda/activate.d le répertoire sera exécuté après l'activation (de même etc/conda/deactivate.d scripts de désactivation). Si vous ajoutez un script pour supprimer le (base), semblable à @ suggestion ewindes , vous obtiendrez le comportement que vous désirez.

J'ai dû créer ce répertoire pour la base , qui n'est que la racine de votre dossier Anaconda/Miniconda. Par exemple.,

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

Ensuite, faites un simple fichier là-dedans (par exemple, remove_base_ps1.sh) avec une ligne:

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

Le lancement d'un nouveau Shell n'affiche alors pas (base), et la désactivation des envois imbriqués prend également en charge le changement PS1.

Remarque: vous devez ajouter des guillemets autour de $ PS1 si vous souhaitez conserver les espaces de fin.

24
merv

C'est parce que l'environnement de base de conda est activé au démarrage.

Pour définir le paramètre auto_activate_base sur false, tapez:

conda config --set auto_activate_base false

20
Yokissa

Vous pouvez ajouter une commande à votre .bashrc pour supprimer la chaîne "(base)" de PS1:

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

Si vous utilisez Mac uniquement HardReset le terminal. Terminal ouvert> Shell> Réinitialisation matérielle

Ça marche pour moi.

1
Kanish