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

40,969

Solution 1

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

Solution 2

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.

Share:
40,969
RLD
Author by

RLD

An enthusiastic Java Programmer who loves to code and decode in Java using Spring. Recently fancied by Machine Learning and Cloud Computing and trying to dip-dive into these technologies. During leisure time, likes to spend time humming and listening old Bollywood songs.

Updated on May 13, 2020

Comments

  • RLD
    RLD almost 4 years

    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.

  • develarist
    develarist over 3 years
    should new packages for conda be installed with PowerShell Prompt or just Prompt?
  • YaOzI
    YaOzI over 3 years
    @develarist Actually, it doesn't matter. These two are just different ways you run python/conda from command line. No matter which one you like to pick, all packages you installed would go to the same location, as long as you are in the same virtual environment.