How to activate conda environment from powershell?

Viewed 66054

Version Anaconda 4.8.3

What I cannot do:
I can't activate any environment from powershell. conda activate base

What I can do:
conda env list conda create -n xxx conda remove -n xxx

I have tried many solutions, but they turn out to be useless:

  1. conda init powershell
    restart powershell
    conda activate

  2. conda update -n base conda and redo 1

  3. conda install -n root -c pscondaenvs pscondaenvs
    Set-ExecutionPolicy RemoteSigned
    Run activate base

The result of running conda activate

8 Answers

You don't need Admin permission.

Once you install Anaconda or Miniconda on Windows, open a Anaconda Powershell Prompt from Start Menu.

Or, If you don't see it there, then assuming you have installed miniconda3 at path C:\miniconda3\4.9.2, do:

powershell -ExecutionPolicy ByPass -NoExit -Command "& 'C:\miniconda3\4.9.2\shell\condabin\conda-hook.ps1' ; conda activate 'C:\miniconda3\4.9.2' "

Now try:

conda init powershell

and reopen powershell.

Additional note: By default conda will autoactivate itself, when we open terminal. If you prefer not, then disable auto-activation with:

conda config --set auto_activate_base false

Open a Anaconda Powershell Prompt from Start Menu. Now Try:

conda init powershell

Now restart the powershell, if find some error like this in powershell:

\WindowsPowerShell\profile.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:3

Then change the execution policy. Type this code to powershell:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

To find more with execution policy you can visit this link.

Here is my easier solution which works with Anaconda, Miniconda, and even Miniforge:

  1. Open Powershell and browse to condabin folder in your conda installation directory, for example: C:\Users\<username>\anaconda3\condabin
  2. Run ./conda init powershell in that folder, and re-open the powershell.
  3. Please note: If you encountered ps1 cannot be loaded because running scripts is disabled on this system, simply run the Powershell as Administrator and enter the following: Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
  4. Restart the Powershell & Enjoy!

When you use Anaconda or Miniconda type in Anacondaprompt:

conda init powershell

In order to activate conda on Powershell, I just executed this command:

C:\Users\<username>\anaconda3\shell\condabin\conda-hook.ps1

Then I could see all environments without needing to restart Powershell.

conda env list
conda activate base

So you need to basically just run the conda-hook.ps1 script.

Encountered the same problem. The trick is to make sure that the environment is included in the PATH variable of Windows Powershell. To view the PATH variables enter the following in the powershell:

$env:Path.split(';')

If the environment you desire doesn't show up in the output list, as in ..... ..... ..../envs/yourEnv/... .....

run the following command on cmd:

conda init powershell

then restart _Anaconda Powershell, then:

conda activate yourEnv

Hopefully, now the conda prompt should now show your desired environment.

& 'C:\ProgramData\Miniconda3\shell\condabin\conda-hook.ps1'; conda activate 'C:\ProgramData\Miniconda3'

This is the command found in Anaconda Powershell Prompt (Miniconda3).lnk on my computer.

On my machine, I can enter the environment anywhere by executing these two commands.

To solve the problem without changing te security policy on powershell, you need to be on powershell 7. Powershell 7 will let you use a \WindowsPowerShell\profile.ps1 file as startup script with default (restricted) security policy settings. Windows Powershell is by default (on windows 10 at 14-08-2022) version 5.x.

Check your powershell version with

$PSVersionTable

If you're still on powershell 5, install powershell from the windows store. This will install powershell 7 alongside powershell 5. It will probably be called Powershell instead of Windows Powershell. Or if you're not allowed to use the windows store, ask IT to install it for you. Check the version again in the new powershell.

After this, we can follow the answer of prashant:

Open Anaconda prompt and run

conda init powershell

To stop conda starting by default run

conda config --set auto_activate_base false
Related