What is the difference between Anaconda Prompt and Anaconda Powershell Prompt?

Viewed 48958

I am learning Python using Anaconda. Earlier I had only Anaconda Prompt. But after recent update of Anaconda through

conda update conda

I came to see Anaconda Powershell Prompt. Few commands I tried in new Powershell Prompt which I used to do earlier in Anaconda Prompt. These commands worked fine.

Now, my question is what is the reason behind giving 2 command prompts by Anaconda? Is there any difference between their functionalities or capabilities?

My OS is Windows 7 and Conda version is 4.6.12.

2 Answers

First, for everything from executing python related commands (python, ipython, jupyter, conda, etc.) to running Python scripts (e.g. python helloworld.py), there is no difference. So there is no worry ;)

And then, the only difference, as the name suggests, is the windows shell environment in which you running conda commands: cmd.exe (Command Prompt) vs powershell.exe.


Now let's talk a bit more about the difference: (reference)

Briefly, the cmd.exe is a simple shell introduced with Windows NT with the same basic syntax and functionality as DOS. It has relatively limited capabilities, especially when compared to Unix/Linux shells.

And PowerShell is a modern shell implementation with all sorts of extra goodies (e.g. commands colorful highlight).

So, in Anaconda Powershell Prompt, you can run some powershell commands like these:

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.752
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.752
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

> $env:PATH
C:\Users\user-name\anaconda3;C:\Users\user-name\anaconda3\Library\mingw-w64\bin;...

But in Anaconda Prompt, above commands would not be recognized, you can run this though:

>ver

Microsoft Windows [版本 10.0.18363.815]

And under the hood, Anaconda Powershell Prompt and Anaconda Prompt just two shortcuts invoking different commands:

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& '%USERPROFILE%\anaconda3\shell\condabin\conda-hook.ps1' ; conda activate '%USERPROFILE%\anaconda3' "
%windir%\System32\cmd.exe "/K" %USERPROFILE%\anaconda3\Scripts\activate.bat %USERPROFILE%\anaconda3

enter image description here

Windows offers two command line environments, the traditional "Prompt" (cmd.exe) and the newer "PowerShell". You can use Anaconda with either of these.

The documentation for Windows commands covers both.

Related