在不同编程语言安装过程中系统变量设置的一些问题(尤其是path相关)

        最近在学习编程的时候,会经常遇到环境变量设置的相关问题,环境变量这个概念对于我来说比较抽象,所以今天专门针对环境变量的一些相关问题找了找资料。把东西写下来,以后用到的时候也能找到。

在WIN中环境变量的位置:用鼠标右键单击系统桌面上的“计算机”图标, 从弹出的右键菜单中点击“属性”命令,按下其后界面中的“高级系统设置”按钮,进入系统属性高级设置对话框,点击“环境变量”按钮,在这里,我们可以通过“新建”|“编辑”|“删除”等按钮,对各种环境变量进行合适管理操作。

一个环境变量往往由变量名称和变量值组成,环境变量名称和数值设置时,不要含有空格,也不要用中文,变量值可以重新赋值,而常量值一直是固定不变的

1、所谓Windows环境变量,指的是Windows指定操作系统工作环境的一些设置选项或属性参数,例如指定系统文件夹或临时文件夹的位置等。与常量相比,一个环境变量往往由变量名称和变量值组成,环境变量名称和数值设置时,不要含有空格,也不要用中文,变量值可以重新赋值,而常量值一直是固定不变的。例如,使用Path变量可以设置Windows系统查询文件的路径,使用Windir变量可以设置系统文件夹路径,使用ComSpec变量可以设置“cmd.exe”命令的路径等。

在Windows工作环境中,环境变量包含系统变量和用户变量

    用户变量只对当前用户有效,如果你切换登陆用户的话,那之前用户的用户变量就不适用于当前用户了

    而系统变量对所有用户有效,只要是在这台计算机上登陆的用户都可以用

在我们安装不同编程语言的时候,path变量的设置通俗来讲就是目标程序(或者说命令的)存储路径

2、有时,在系统变量和用户变量中,同时存在某个同名环境变量,那么该变量的值究竟是系统变量中的值还是用户变量中的值呢?其实都不是,该变量的值应该是系统变量值与用户变量值的叠加,严格来讲,搜索时是先搜索系统变量的值,然后搜索用户变量的值。当用户变量和系统变量同名时,用户变量的值不会覆盖系统变量的值。

例如在系统变量与用户变量中同时包含有path变量,系统的扫描顺序是先扫描系统变量,如果在系统变量中找到了所要运行的命令,那么就不再对用户变量进行扫描,即使用户变量中相同命令也不进行扫描;如果在系统变量中没有找到目标命令那么再去扫描用户变量。如下图所示

图1,环境变量

在不同编程语言安装过程中系统变量设置的一些问题(尤其是path相关)_第1张图片

上图中用户变量与系统变量中都有一个path变量,由于我在安装Anaconda之前已经安装了py3.7,所以在我的电脑中用户变量和系统变量中的path变量都包含python的路径,当我在DOS中运行python 的命令时显示的如下图所示,时Anaconda的python3.5版本

所以说,在系统检查变量的时候,实现检查系统变量,没有找到结果的话再去用户变量中找

3、例如在path 变量中有很多不同的路径,但是在系统扫描path变量中一条条路径的时候也是有顺序的

在不同编程语言安装过程中系统变量设置的一些问题(尤其是path相关)_第2张图片

如上图所示就是path变量的一条条路径,

当在命令行中执行一条指令例如python 时,系统会在path中从上至下查找要执行的程序,如果找到的话就执行下去,后面的指令就不再访问了

例如下面:

在不同编程语言安装过程中系统变量设置的一些问题(尤其是path相关)_第3张图片

我将python3.7的目录同时加入到path变量中,在命令行下运行python指令,如下图

显示的仍然是Anaconda的python版本

系统在Anaconda的目录中找到python后就不会再扫描下面的目录了

你可能感兴趣的:(系统学习相关)