在远程的ubuntu系统的服务器上安装pytorch的过程中,对环境变量的认识有提升了一层,记录如下。
什么是shell?
到底什么是环境变量?
环境变量(environment variables)一般指在操作系统(Operate System, OS)总中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量用来配置操作系统或其他应用程序。
环境变量是操作系统的一个具有特定名字的对象,它包含一个或者多个应用程序所使用到的信息。
当要运行一个程序而没告诉它程序所在的完整路径时,系统会在当前目录下搜索该程序,其次就是到环境变量去找。
【举例说明】Linux中的cd,pwd,cp,mkdir
等常见命令的两种执行方式:
pwd
以及
/usr/bin/pwd
pwd
命令可以直接被执行的原因就是因为设置了环境变量,可以通过echo $PATH
来查看环境变量下的PATH路径,比如:
echo $PATH
/home/face/bin:/home/face/.local/bin:/usr/local/ndk/android-ndk-r20:/usr/local/ndk/android-ndk-r20:/usr/local/android-sdk-linux/platform-tools:/usr/local/android-sdk-linux/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
环境变量有三种:
.bashrc
,.bash_profile
,.bash_login
,.profile
。这些文件存放于主目录。/etc/environment
,/etc/profile
,/etc/profile.d
,/etc/bash.bashrc
。这些变量在系统打开时加载。注意:设置环境变量的方法,除了用export
直接代码,也可以用vim
或vi
打开系统文件,进入编辑模式后进行手动编辑。
export的意思就是将局部变量设置为环境变量
# 设置新路径(覆盖其它全部命令)
export PATH=/xxx/bin
# 添加一个新的路径
export PATH=/xxx/bin:$PATH
# 删除全部路径
unset PATH
大致来说,有两种设置变量的模式:
1、 设置临时变量(作用于终端)
什么是临时环境变量?
简单的理解就是你现在这个命令窗口的变量,等你新开一个命令窗口,那么这个变量就不复存在,无法使用。这样的概念类似于函数的局部变量无法全部使用的感觉一样。
# 设置新路径(覆盖其它全部命令)
export PATH=/xxx/bin
# 添加一个新的路径
export PATH=/xxx/bin:$PATH
2、 永久设置(作用于当前用户或者所有用户)
(1)用于当前用户:
# 打开 .bashrc 文件
vim ~/.bashrc
# 一次添加多个路径,用冒号:分割
export PATH=<你要加入的路径1>:<你要加入的路径2>: ...... :$PATH
# 使环境变量立即生效
source ~/.bashrc
(2)用于所有用户:
sudo vim /etc/profile
export PATH=<你要加入的路径>:$PATH
# 使得更改立即生效
source /etc/profile
对于ubantu系统来说,主要包括用户目录下的 .bashrc 文件、系统目录下的 profile 文件以及Ubuntu 专有方式、environment 文件四种方法。(一般来说前两者用的较多)
具体可参考 Ubuntu下设置环境变量及PATH的方法
$:
HOME:
PATH:
这部分可以继续参考:环境变量那些事儿
附:当多个Python版本需要管理时,可以使用别名声明alias的用法
参考: