How do I prevent Conda from activating the base environment by default?
There're 3 ways to achieve this after conda
4.6. (The last method has the highest priority.)
Use sub-command
conda config
to change the setting.conda config --set auto_activate_base false
In fact, the former
conda config
sub-command is changing configuration file.condarc
. We can modify.condarc
directly. Add following content into.condarc
under your home directory,# auto_activate_base (bool) # Automatically activate the base environment during shell # initialization. for `conda init` auto_activate_base: false
Set environment variable
CONDA_AUTO_ACTIVATE_BASE
in the shell's init file. (.bashrc
for bash,.zshrc
for zsh)export CONDA_AUTO_ACTIVATE_BASE=false
To convert from the
condarc
file-based configuration parameter name to the environment variable parameter name, make the name all uppercase and prependCONDA_
. For example, conda’salways_yes
configuration parameter can be specified using aCONDA_ALWAYS_YES
environment variable.The environment settings take precedence over corresponding settings in
.condarc
file.
References
- The Conda Configuration Engine for Power Users
- Using the .condarc conda configuration file
conda config --describe
- Conda 4.6 Release
I have conda 4.6 with a similar block of code that was added by conda. In my case, there's a conda configuration setting to disable the automatic base activation:
conda config --set auto_activate_base false
The first time you run it, it'll create a .condarc
in your home directory with that setting to override the default.
This wouldn't de-clutter your .bash_profile
but it's a cleaner solution without manual editing that section that conda manages.