Activate Conda Environment : How to activate an Anaconda environment
To activate an environment: conda activate myenv
Note
Replace myenv
with the environment name or directory path.
Conda prepends the path name myenv
onto your system command.
You may receive a warning message if you have not activated your environment:
Warning:
If you receive this warning, you need to activate your environment. To do so on Windows, run: c:\Anaconda3\Scripts\activate base
in Anaconda Prompt.
Windows is extremely sensitive to proper activation. This is because the Windows library loader does not support the concept of libraries and executables that know where to search for their dependencies (RPATH). Instead, Windows relies on a dynamic-link library search order.
If environments are not active, libraries won’t be found and there will be lots of errors. HTTP or SSL errors are common errors when the Python in a child environment can’t find the necessary OpenSSL library.
Conda itself includes some special workarounds to add its necessary PATH entries. This makes it so that it can be called without activation or with any child environment active. In general, calling any executable in an environment without first activating that environment will likely not work. For the ability to run executables in activated environments, you may be interested in the conda run
command.
Conda init
Earlier versions of conda introduced scripts to make activation behavior uniform across operating systems. Conda 4.4 allowed conda activate myenv
. Conda 4.6 added extensive initialization support so that conda works faster and less disruptively on a wide variety of shells (bash, zsh, csh, fish, xonsh, and more). Now these shells can use the conda activate
command. Removing the need to modify PATH makes conda less disruptive to other software on your system. For more information, read the output from conda init --help
.
One setting may be useful to you when using conda init
is:-
auto_activate_base: bool
This setting controls whether or not conda activates your base environment when it first starts up. You’ll have the conda
command available either way, but without activating the environment, none of the other programs in the environment will be available until the environment is activated with conda activate base
. People sometimes choose this setting to speed up the time their shell takes to start up or to keep conda-installed software from automatically hiding their other software.
Nested activation
By default, conda activate
will deactivate the current environment before activating the new environment and reactivate it when deactivating the new environment. Sometimes you may want to leave the current environment PATH entries in place so that you can continue to easily access command-line programs from the first environment. This is most commonly encountered when common command-line utilities are installed in the base environment. To retain the current environment in the PATH, you can activate the new environment using:
conda activate --stack myenv
If you wish to always stack when going from the outermost environment, which is typically the base environment, you can set the auto_stack
configuration option:
conda config --set auto_stack 1
You may specify a larger number for a deeper level of automatic stacking, but this is not recommended since deeper levels of stacking are more likely to lead to confusion.
Environment variable for DLL loading verification
If you don’t want to activate your environment and you want Python to work for DLL loading verification, then follow the troubleshooting directions.
Warning
If you choose not to activate your environment, then loading and setting environment variables to activate scripts will not happen. We only support activation.
Deactivating an environment
To deactivate an environment, type: conda deactivate
Conda removes the path name for the currently active environment from your system command.
Note
To simply return to the base environment, it’s better to call conda activate
with no environment specified, rather than to try to deactivate. If you run conda deactivate
from your base environment, you may lose the ability to run conda at all. Don’t worry, that’s local to this shell – you can start a new one. However, if the environment was activated using --stack
(or was automatically stacked) then it is better to use conda deactivate
.
Determining your current environment
Use the terminal or an Anaconda Prompt for the following steps.
By default, the active environment—the one you are currently using—is shown in parentheses () or brackets [] at the beginning of your command prompt:
(myenv) $
If you do not see this, run:
conda info --envs
In the environments list that displays, your current environment is highlighted with an asterisk (*).
By default, the command prompt is set to show the name of the active environment. To disable this option:
conda config --set changeps1 false
To re-enable this option:
conda config --set changeps1 true