python - Anaconda Prompt 和 Anaconda Powershell Prompt 有什么区别?

标签 python windows powershell cmd anaconda

我正在使用 Anaconda 学习 Python。早些时候我只有 Anaconda Prompt。但是最近通过

更新了 Anaconda 之后
conda update conda

我是来看Anaconda Powershell Prompt的。我在新的 Powershell Prompt 中尝试了一些命令,而我之前在 Anaconda Prompt 中尝试过这些命令。这些命令运行良好。

现在,我的问题是 Anaconda 给出 2 个命令提示的原因是什么?它们的功能或能力之间有什么区别吗?

我的操作系统是 Windows 7,Conda 版本是 4.6.12。

最佳答案

首先,对于执行 python 相关命令的所有内容(pythonipythonjupyterconda 等) .) 到运行 Python 脚本(例如 python helloworld.py),没有区别。所以不用担心 ;)

然后,顾名思义,唯一的区别是运行 conda 命令的 windows shell 环境:cmd.exe(命令提示符)与 powershell.exe


现在让我们多谈谈区别:( 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).

因此,在 Anaconda Powershell Prompt 中,您可以运行如下一些 powershell 命令:

> $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;...

但是在Anaconda Prompt中,上面的命令不会被识别,你可以运行这个:

>ver

Microsoft Windows [版本 10.0.18363.815]

在幕后,Anaconda Powershell PromptAnaconda Prompt 只是调用不同命令的两个快捷方式:

%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

关于python - Anaconda Prompt 和 Anaconda Powershell Prompt 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656493/

相关文章:

python - 如何在 kivy 中将 pos_hint 与 FloatLayout 一起使用?

sql - 使用Powershell将SQL Server实例添加到中央管理服务器组

Python:如何在一行中检查字符串中出现的字符

python - 用 Theano 求解 react 扩散系统

windows - Freepascal 刷新 Windows 下每个输出的标准输出?

linux - 我们为添加到系统的任何文件向操作系统注册的事件

arrays - 如何仅显示文本文件数组中的“读取主机”值?

powershell - 由于archive_id名称的原因,无法删除AWS Glacier存档?

python - 如果模块 'example' 包含函数 'run' 和子模块 'run' ,我可以指望 'from example import run' 总是导入前者吗?

使用感叹号的 Windows 批处理文件语法