Как убрать (базу) из терминала подсказку после обновления conda

После обновления miniconda3, всякий раз, когда я открываю терминал, перед моим именем пользователя и хостом отображается "(база)".

В этом ответе пост https://askubuntu.com/a/1113206/315699 было предложено использовать

conda config --set changeps1 False

Чтобы удалить это.

Но это уберет показания для любой среды conda. Я хотел бы удалить его только для базового, чтобы я мог поддерживать его всегда активным и иметь доступ к его питону и установленным пакетам, не видя, что этот (базовый) занимает место.

Ответы

Ответ 1

Используйте крючок активации base env

Для каждого env любые сценарии в каталоге etc/conda/activate.d будут выполняться после активации (аналогично etc/conda/deactivate.d сценарии для деактивации). Если вы добавите сценарий для удаления (base), аналогично предложению @ewindes, вы получите желаемое поведение.

Мне пришлось создать этот каталог для базы, которая является просто корнем вашей папки Anaconda/Miniconda. НАПРИМЕР,

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

Затем сделал простой файл (например, remove_base_ps1.sh) одной строкой:

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

После запуска новой оболочки не отображается (base), а деактивация из вложенных envs также учитывает изменение PS1.

Ответ 2

Вы можете добавить команду в ваш .bashrc для удаления строки "(base)" из PS1:

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

Ответ 3

Это потому, что базовая среда conda активируется при запуске.

Чтобы установить для параметра auto_activate_base значение false, введите:

conda config --set auto_activate_base false

Ответ 4

Я немного опоздал на вечеринку, но после этого ответа это было так же просто, как запустить его из моего домашнего каталога:

echo "changeps1: False" >> .condarc