Как убрать (базу) из терминала подсказку после обновления conda - PullRequest
11 голосов
/ 14 марта 2019

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

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

conda config --set changeps1 False

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

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

Ответы [ 2 ]

12 голосов
/ 15 марта 2019

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

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

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

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

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

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

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

6 голосов
/ 23 апреля 2019

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

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