Windows设置环境变量看这一篇就够了,界面和命令行两种设置方式

window环境变量设置是我们开发程序和运行软件的基础操作。环境变量包含两部分,变量的名字以及对应的变量值,且可以多对一,即一个变量名可以对应多个变量值(也就是说变量值可以是个列表)。

windows设置环境变量有两种方式:

  1. 界面操作设置:这是我们最常用的,网上大多也是这种,比较适合小白,但界面操作只能设置永久环境变量,无法设置临时环境变量,所谓临时也就是说我们只想环境变量对某个程序生效,对其他程序不生效。
  2. 命令行设置:比较适合开发人员,命令行方式即可以设置临时环境变量,也可以设置永久环境变量。而且设置多个值的环境变量也比较简单,用英文分号(;) 隔开多个值即可。windows的命令行目前主要有PowerShell和cmd两种,这两种在设置环境变量上有很大差别。

界面设置方式

界面设置的都是永久环境变量,

打开设置界面

我们可以按window键,在搜索窗口搜索环境变量,在弹出的列表中选择点击编辑系统环境变量(不要点编辑账户的环境变量

打开后,再点击右下角的环境变量

弹出如下窗口,即打开了环境变量设置界面

可以看到界面中有用户变量系统变量两个窗口,那么我们应该设置哪个呢?

用户变量只对当前用户生效,系统变量是对所有用户都生效,如果你的电脑只有一个自己用的账户,建议都设置在系统变量下即可。如果你点击了编辑账户的环境变量,那么此时系统变量是不可编辑的

新建环境变量

新建的环境变量一般与应用程序的运行时相关,例如上面的HF_ENDPOINT即为新建的,其作用就是我在运行那些从HuggingFace自动下载模型的程序时,我不需要从官网下载,而是从我指定的镜像地址(环境变量的值)去下载,这样就避免了不能访问HuggingFace官网导致模型下载失败的情况。

点击新建按钮,会弹出下面的界面,填入变量名变量值即可。如果有多个值,用英文分号隔开,点击确定后再双击打开就和Path一样是一个列表了

追加Path环境变量

如果你想在终端中执行一个可执行文件,又不想写它的路径。就可以把这个文件的所在文件夹路径追加到Path环境变量中,然后在终端输入文件名即可执行了,因为系统在执行的时候会自动去Path配置的路径列表中搜索。

双击系统变量窗口中的Path,弹出如下窗口,点击浏览,选择要添加的文件夹位置即可

环境变量设置完成后一定要点击确定,然后再重启程序或者终端,环境变量才可以生效

终端设置方式

终端既可以设置临时环境变量也可以设置永久环境变量

设置临时环境变量

终端设置的临时环境变量,只在当前运行终端中生效

  • cmd终端

cmd终端中用set设置临时环境变量,如果变量值有空格,必须要用引号包裹(“”),使用%%取环境变量的值

set HF_ENDPOINT=https://hf-mirror.com #设置一个新的临时环境变量,只有一个值
set MY_MULTI_VAR=Value1;Value2 #设置新的临时环境变量,可以有多个值,英文分号隔开
set TEMP_VAR="Hello World";Value1 #如果变量值有空格,必须要用引号""

set Path=%Path%;C:\NewDir #临时追加Path环境变量

echo %HF_ENDPOINT% #查看环境变量的值
  • PowerShell终端
$env:HF_ENDPOINT = "https://hf-mirror.com" #设置新的临时环境变量
$env:MY_MULTI_VAR = "Value1;Value2;Value3" #设置新的临时环境变量,多个值
$env:Path = "$env:Path;C:\NewDir"  #临时追加Path环境变量
$env:PATH += ";C:\NewDir" #临时追加Path环境变量,使用+=更方便
$env:HF_ENDPOINT  #查看环境变量的值

设置永久环境变量

建议在操作界面设置永久环境变量

  • cmd终端(不太推荐)

cmd使用setx设置永久环境变量,且变量值必须引号(“”)包裹。setx可能会有路径截断问题,不太推荐,建议使用PowerShell终端命令设置

setx 变量名 "变量值" #新建环境变量,只对当前用户永久生效
setx 变量名 "变量值" /M  #新建环境变量,对所有用户永久生效
setx 变量名 "值1;值2" #新建环境变量,有多个值
setx Path "%Path%;C:\NewDir" #永久追加Path环境变量
  • PowerShell终端
[Environment]::SetEnvironmentVariable("变量名", "值", "User") #用户级
[Environment]::SetEnvironmentVariable("变量名", "值", "Machine") #系统级
[Environment]::SetEnvironmentVariable("MY_MULTI_VAR", "Val1;Val2;Val3", "User") #多个值

#永久追加Path环境变量
$currentPath = [Environment]::GetEnvironmentVariable("PATH", "Machine")
[Environment]::SetEnvironmentVariable("PATH", "$currentPath;C:\MyNewPath", "Machine")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Heathens666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值