anaconda添加环境变量_其他——Windows环境变量含义/如何设置后立即生效/系统和用户环境变量区别...

1.首先理解Windows环境变量是干嘛的

在安装anaconda、java、python等的时候,要求修改环境变量,主要是修改path这个变量,以保证在cmd命令行窗口中输入特定命令后,计算机能够根据path里面提供的路径找到相应的实施对象。例如,在cmd中输入python,计算机就会根据path中提供的A:softwarepython3.7路径找到python.exe这个应用程序然后开启之。这就是环境变量的基本作用。也正是因为这个基础,我才能够使用在<原生Python与anaconda(带Python)之间的冲突问题>中的方法,设置启动优先级,复制python.exe并分别起名为python-ana和python37,避免同时安装anaconda(带python)和原成python所带来的cmd启动python时的矛盾和误解。

具体到其他环境变量的含义和值的示例,参见文末第四段

2.系统环境变量和用户环境变量的区别

核心总结:一台计算机有多个账号(用户),系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。

点击“我的电脑→属性→高级系统设置”标签的“环境变量”按钮,出现“环境变量”对话框,如果当前是以Administrator登录系统的用户,对话框的上面为Administrator的用户变量,对话框的下面为系统变量(即相当于系统中所有用户的用户变量)。有的时候我们会看到在用户变量和系统变量中都存在某一个环境变量,比如path,那么path的值到底是用户变量中的值还是系统变量中的值,或者两者都不是呢?答案是两者都不是。path变量的值是用户变量中的值与系统变量中的值的叠加。

系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。

例如你要用java,那么你把java的bin目录加入到path变量下面(添加方法),那么它就是系统环境变量,所有用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。

系统变量:与windows操作系统包括网络状况有关,由操作系统定义。Administrators组的用户可以添加添加、修改或删除。

用户变量:由操作系统、某些应用程序以及用户建立,例如WindowsXP安装程序将临时文件夹设定了默认存储位置,并视为用户变量。任何用户都可以添加、修改或删除。

这些变量由 Windows XP 安装程序、某些应用程序以及用户建立。这些更改将写入注册表,而且通常立即生效。不过,在更改用户环境变量之后,应该重新启动所有打开的软件程序以使其读取新的注册表值。

添加、改变变量的常见原因是为您希望在程序(脚本)中使用的变量提供所需的数据。

内容参考自:windows 用户变量和系统变量的区别

3.设置Windows环境变量后立即生效

在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,一般需重启系统才能使之生效(例如,在安装anaconda时勾选modify path in environment variables后,提示需要重启主机才能够使修改生效)。但我们知道,修改一下环境配置就重启会很麻烦,有没有什么方法可让它即时生效呢?下面介绍一种方法:

以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:set PATH=C: ,关闭DOS窗口。再次打开DOS窗口,输入:echo %PATH% ,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。

  1. 不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。但是对副本的修改却会引发Windows环境变量的刷新,这正是我们想要的!
  2. 诡异啊,使用win+R->cmd 启动的cmd.exe 会发现在电脑属性中设置的环境变量立马生效了,在其他模式下启动的cmd却没有发生效果,怪哉!!查看了一下资料,在电脑属性中设置环境变量以后,以后启动的程序和线程会生效,而对以前驻留内存的程序不起作用,也有人说kill explorer.exe 再启动explorer.exe 可以激发设置其作用。
  3. 这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。
  4. 那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简单地重新启动此应用程序,环境变量的修改就会反映到该程序中,而不必重新启动计算机;但是,如果受影响的是系统服务,就必须重新启动才能将环境变量的修改反映到系统服务中(因为没有办法在不重启计算机的情况下重新启动系统服务管理器)。

内容参考自https://blog.csdn.net/liufangbaishi2014/article/details/75330766

4. 环境变量的含义和值的示例:

f24a900354af4bccd0c017fd1b131115.png

504ce36bf4bf5e0d8876311d6b3fbf99.png

a43936d3b49e45e5c69018c44ce62a2e.png

更详细的系统变量参考windows系统变量

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值