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.
Anaconda command prompt is just like command prompt, but it makes sure that you are able to use anaconda and conda commands from the prompt, without having to change directories or your path. When you start Anaconda command prompt, you'll notice that it adds/("prepends") a bunch of locations to your PATH.
Cmd is used primarily to execute batch commands, do some primary troubleshooting whereas PowerShell can be used for executing batch commands as well as administrative purposes. Scripts can also be written in PowerShell to automate the tasks. PowerShell also has an ISE which makes it easier to write and debug scripts.
Anaconda prompt is similar to a terminal or command prompt (cmd). It refers to a black screen used to type in the commands by the user. You can download conda using a GUI installer.
You don't need Admin permission. Once you install Anaconda or Miniconda on Windows, open a Anaconda Powershell Prompt from Start Menu. and reopen powershell.
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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With