Я недавно установил anaconda2 на моем Mac. По умолчанию Conda настроена на активацию базовой среды, когда я открываю новый сеанс терминала.
Я хочу получить доступ к командам Conda (т.е. я хочу, чтобы путь к Conda был добавлен в мой $ PATH, что делает Conda при инициализации, так что все в порядке).
Но я обычно не программирую на python и не хочу, чтобы Conda активировала среду по умолчанию.
При первом запуске conda init
из приглашения Конда добавляет к моему следующее .bash_profile
:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<
Если я закомментирую весь блок, я не смогу активировать какие-либо среды Conda.
Я пытался закомментировать весь блок, кроме
export PATH="/Users/geoff/anaconda2/bin:$PATH"
Но затем, когда я начал новый сеанс и попытался активировать среду, я получил это сообщение об ошибке:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
Этот вопрос (и другие подобные) полезны, но в конечном итоге не отвечают на мой вопрос и больше подходят для пользователей Linux.
Для пояснения я не прошу удалить (base)
из моего, $PS1
я прошу Конду не активировать базу, когда я открываю терминальную сессию.
source activate
вместо этого? ака "Oldschool метод"Ответы:
У меня есть conda 4.6 с похожим блоком кода, который был добавлен conda. В моем случае есть параметр конфигурации conda для отключения автоматической активации базы:
При первом запуске он создаст
./condarc
в вашем домашнем каталоге этот параметр, чтобы переопределить значение по умолчанию.Это не лишит вас шума,
.bash_profile
но это более чистое решение без ручного редактирования того раздела, которым управляет conda.источник
conda config --describe
. Поиск в базе кода «auto_activate_base», кажется, показывает, что Conda v4.6.0 является введением.conda config --set auto_activate_base false
Спасибо за установку Anaconda3!Ответ немного зависит от версии,
conda
которую вы установили. Для версий conda> = 4.4 этого должно быть достаточно дляdeactivate
среды conda после инициализации, поэтому добавьтепрямо под
источник
__conda_setup
функция, чтобы вы могли получить все до 6 строк. Но я не думаю, что здесь есть много чего ...В итоге я обнаружил, что если я закомментировал блок инициализации Conda следующим образом:
Работает именно так, как я хочу. То есть Conda доступна для активации среды, если я хочу, но не активируется по умолчанию.
источник
rc
файла? Мне тоже было бы интересно, если бы я мог относиться к conda как к другим envs, а не кconda config --set auto_activate_base false
, вы можете уточнить?Есть 3 способа достичь этого после
conda
4.6. (Последний метод имеет самый высокий приоритет.)Используйте подкоманду,
conda config
чтобы изменить настройку.Фактически, бывшая
conda config
подкоманда изменяет файл конфигурации.condarc
. Мы можем изменить.condarc
напрямую. Добавьте следующий контент в.condarc
ваш домашний каталог,Установите переменную окружения
CONDA_AUTO_ACTIVATE_BASE
в файле инициализации оболочки. (.bashrc
для bash,.zshrc
для zsh)Настройки среды имеют приоритет над соответствующими настройками в
.condarc
файле.Ссылки
conda config --describe
источник
export CONDA_AUTO_ACTIVATE_BASE=false; eval "$(conda shell.bash hook)"
export CONDA_AUTO_ACTIVATE_BASE=false
к моему .zshrc для варианта 3 для работы.Чтобы отключить автоматическую активацию базовой среды conda в терминале:
Чтобы активировать базовую среду conda:
источник
Одна вещь, на которую не было обращено внимания, заключается в том, что нет разницы между отсутствием активной среды и активацией базовой среды, если вы просто хотите запускать приложения из каталога скриптов Conda (Python) (как этого хочет @DryLabRebel). ).
Вы можете установить и удалить через conda, и conda показывает базовую среду как активную, которая по сути:
источник
Если вы хотите, чтобы ваш bashrc был простым, вы можете удалить все
conda init
сгенерированные помехи и оставить только одну строку:См. Рекомендуемое изменение, чтобы включить conda в вашей оболочке .
Это сделает команду conda доступной без активации базовой среды.
Если вы хотите использовать bashrc в других системах, где conda не установлена по тому же пути, вы можете также сохранить строки
if
/ /,fi
чтобы избежать сообщений об ошибках, например:источник
Это может быть ошибка недавней анаконды. Что работает для меня:
step1:
vim /anaconda/bin/activate
показывает:шаг 2: закомментируйте последнюю строку:
# conda activate "$@"
источник
Я столкнулся с той же проблемой. Сначала я удалил .bash_profile, но это не правильный путь. После установки anaconda четко показывает инструкции по этой проблеме. Пожалуйста, проверьте изображение для решения, предоставленного Anaconda
источник