windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系

文章目录

  • 前言
  • 一、pycharm下的默认终端和系统的cmd的关系
  • 二、windows下的cmd和anaconda的base环境的关系
  • 结论


前言

最近入手深度学习,在windows下配置环境时,对windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系有些困惑,在此稍做记录,可直接看结论


一、pycharm下的默认终端和系统的cmd的关系

下图为pycharm下的默认终端
windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第1张图片
在文件→设置→工具→终端的Shell路径下可选择pycharm的默认终端,如下图windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第2张图片默认选择的就是系统的cmd,也可选择powershell(PS)
windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第3张图片

二、windows下的cmd和anaconda的base环境的关系

win+R打开运行,输入cmd进入系统的cmd,可以看到pycharm下的默认cmd与系统的一致。在这里,称系统的cmd为大环境,也就是系统环境,以便于与anaconda的base(有的版本也称root)环境或创建的其他环境区分开。
在这里插入图片描述

在cmd下输入如下命令,会显示conda下的环境。该计算机下目前就两个虚拟环境,一个是base,是安装anaconda时自带的默认环境,其路径在anaconda的安装路径下;另一个是PyTorch,是新建的虚拟环境,默认在envs路径下。

conda env list

windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第4张图片

在大环境下能识别conda的原因在于系统环境变量,anaconda在安装过程中会默认将以下路径添加至系统环境变量。
windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第5张图片
以下路径存有conda.exe和pip.exe等可执行文件,在cmd中输入conda相关命令时,系统会去path中寻找conda的路径,从而运行conda.exe。

D:\Anaconda3\Scripts

windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第6张图片
在cmd下输入以下命令可进入base虚拟环境,分别在base环境和大环境下输入python,如下图所示:

conda activate base

windows下的cmd和pycharm下的默认终端以及anaconda的root或base环境的关系_第7张图片
可以看到在大环境下访问的python其实就是base环境下的python,但由于在大环境下未激活base虚拟环境,故会造成很多库无法调用。那么大环境下又是如何访问base环境下的python的呢?大环境下的cmd是不是就是base环境呢? 首先回答第一个问题,其实还是通过环境变量,细心的朋友会发现,该计算机的环境变量里包含有D:\Anaconda3路径,该路径事实上也是base环境的路径,也就是说,cmd是通过环境变量里的python路径访问base环境下的python.exe。这也就回答了第二个问题,大环境下的cmd不等于base环境,只是能通过环境变量去访问base环境里的文件。

结论

pycharm下的默认终端是系统下的cmd,而不是conda下的base环境,也就是cmd并不是conda的base环境,而是通过环境变量里的路径值访问base环境下的文件,抑或是conda.exe,而且cmd下能访问环境变量下的所有文件,并不仅仅局限于base环境,只是恰好将与之相关的路径添加进了环境变量,删除该环境变量值后将无法访问。

你可能感兴趣的:(pycharm,windows,python)