概述

Anaconda安装完成后,开始菜单所有程序``Anaconda3中会添加Anaconda Prompt和Anaconda PowerShell Prompt两个菜单项。

这两个菜单项是快捷方式。通过查看这两个快捷方式的属性可知:

  • Anaconda Promp对应的命令为%windir%\System32\cmd.exe "/K" C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
  • Anaconda PowerShell Prompt对应的命令为%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "

在这里插入图片描述

Anaconda Promp原理

Anaconda Promp菜单项打开后的窗口截图如下所示。

在这里插入图片描述

通过 Anaconda Promp对应的命令%windir%\System32\cmd.exe "/K" C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3可知。

Anaconda Promp调用了%windir%\System32\cmd.exe即系统CMD程序;"/K"CMD程序的参数,表示;C:\ProgramData\Anaconda3\Scripts\activate.batAnaconda虚拟环境的激活脚本;C:\ProgramData\Anaconda3Anaconda虚拟环境base的目录。

(base) C:\Users\Administrator>conda env list
# conda environments:
#
base                  *  C:\ProgramData\Anaconda3
foo                      C:\ProgramData\Anaconda3\envs\foo

相当于先打开CMD程序,然后激活Anacondabase虚拟环境。下面我们做一个验证!

  • 首先运行CMD程序。
  • 然后执行C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3命令。

我们可以发现其效果与直接打开 Anaconda Promp一致。

修改Anaconda Promp打开的默认虚拟环境

打开CMD程序,输入如下命令C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
从如下结果可知,base虚拟环境被激活了。

C:\Users\Administrator>C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
(base) C:\Users\Administrator>

打开CMD程序,输入如下命令C:\ProgramData\Anaconda3\Scripts\activate.bat foo
从如下结果可知,base虚拟环境被激活了。

C:\Users\Administrator>C:\ProgramData\Anaconda3\Scripts\activate.bat foo
(foo) C:\Users\Administrator>

因此,打开Anaconda Promp属性,将目标修改为%windir%\System32\cmd.exe "/K" C:\ProgramData\Anaconda3\Scripts\activate.bat foo。再次打开这个快捷方式,命令提示符就会变成(foo) C:\Users\Administrator>,即默认进入foo虚拟环境。
在这里插入图片描述

Anaconda PowerShell Prompt原理

Anaconda PowerShell Prompt的原理与Anaconda Prompt的原理类似,%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\ProgramData\Anaconda3' "%windir%\System32\WindowsPowerShell\v1.0\powershell.exePowerShell程序的路径;-ExecutionPolicy ByPass -NoExit -Command为相关参数;'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1'Anaconda的一个powershell脚本;conda activate 'C:\ProgramData\Anaconda3'是激活base虚拟环境的命令。
在这里插入图片描述

类似与Anaconda Prompt,将Anaconda PowerShell Prompt属性的目标值修改为%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate foo",即默认进入foo虚拟环境。

GitHub 加速计划 / po / PowerShell
16
2
下载
PowerShell/PowerShell: PowerShell 是由微软开发的命令行外壳程序和脚本环境,支持任务自动化和配置管理。它包含了丰富的.NET框架功能,适用于Windows和多个非Windows平台,提供了一种强大而灵活的方式来控制和自动执行系统管理任务。
最近提交(Master分支:4 个月前 )
a1774fd9 4 个月前
5ad1f1d2 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐