In conda, what is the differece between "base" environment and no environment at all?

activating a conda environment is not much more than applying settings to your shell to use a specific python interpreter (and the modules and libs associated to that interpreter)

when you drop out of a conda environment, your shell reverts to the python interpreter determined by your $PATH environment variable -- generally speaking, this default is typically a non-conda environment and is usually the default python installed with the OS (if applicable)

As freude is saying, the obvious way to see this in action is to do which python as you activate/deactivate environments


When playing with python virtual environments in linux (and macOS), it is useful to use the command which python or which pip from the terminal. This command shows the path to the currently used python interpreter - that is the thing, together with the location of site packages, that differs one environment from another. The python environment is nothing else but a directory where you have a copy of your python interpreter and installed libraries. Switching from the (base) to the deactivated (base) implies switching from one python interpreter to another one - that may be checked using which.

In windows, the closest equivalent of which is where.


Short answer: convenience. When base is activated: check out /anaconda3/bin/ you'll find all the binaries that will be included in the $PATH environment variable (try echo $PATH in your bash shell)

When base is NOT activated: basically you only have conda binary available to use by default. Once again, try echo $PATH in your bash shell to see the difference.