Mac电脑环境变量设置方法及常见环境变量说明

在深度学习Python后,很可能需要在同一台电脑上安装不同Python版本的的运行环境,或者设置默认的python和pip运行版本,或者在安装比如mysql、jupyter notebook的时候,一般需要设置一些环境变量,本人在之前基本是按照教程一步一步执行,执行完毕之后,其实基本也就忘记了,这样导致可能换一台电脑或者换一个运行环境,就需要重新把之前的教程再一步一步执行,当时学习时,为了聚焦python本身,也没有过多了解设置中的基本原理,后面在深入学习后,觉得这块越来越有必要深入系统理解,本文主要介绍mac配置环境变量,以及与Python相关的常用环境变量设置和说明。

之前如果有用到Windows,设置环境变量是一个相对比较简单的事情,因为毕竟提供了操作入口,操作几遍也就熟悉了,但是针对Mac,如果之前没有接触过Linux系统,可能会感觉云里雾里,以下便先开始介绍Mac如何设置环境变量开始

一、Mac环境变量设置机制

1.1 环境变量作用说明

环境变量,顾名思义,即电脑当前运行环境的全局变量,分为系统级全局变量和用户级全局变量

  1. 系统级全局变量:指当前电脑所有用户均可使用并访问的环境变量,日常最为常见的是,一些常见的终端命令,基本某电脑所有用户均可在终端输入并运行
  2. 用户级全局变量:指只有当前登录用户账户内访问的环境变量,日常最为常见的是,比如在安装python时,一般会询问,是否安装给所有的用户,如果选择否,则只会将python命令安装到该用户下的指定文件夹内,也只有该用户可调用这些命令。

当然,环境变量,不仅仅只是指命令,还可以指其他变量值,可以将其当做编程中的全局变量来理解。

1.2 Mac与环境变量相关文件说明

Mac的环境变量设置,相较于Windows,会较为负复杂,主要是与环境变量相关的,可以配置和修改的文件较多,且每次修改后,还需要在终端执行对应命令才能生效,同时因为这些文件或文件夹在finder不能直接看到,只能通过终端打开,甚至还要用vim,所以对普通用户来说不太友好。

以下讲下相关文件,Mac系统开启后,会依次加载以下文件内的环境变量,流程示意:

加载流程示意

文件路径 说明 用法

/etc/profile

文件,用来设置PATH环境变量,系统级,所有用户登录系统时均会运行并加载该文件内的环境变量

系统启动时,读取该文件,如果对该文件进行修改,则需要关机并重新登录后才会生效,一般不建议修改该文件

主要用来设置PATH环境变量,一般默认无需修改该文件,该文件默认会运行/usr/libexec/  路径下的path_helper 命令,该命令会从/ etc/paths和/etc/paths.d加载在该文件或文件夹内sh文件设置的PATH环境变量

如希望生效,则必须重启电脑

/etc/paths

文件,用来设置PATH环境变量,系统级,对所有用户生效

将希望添加到PATH环境变量内的路径逐行写入该文件内即可

如果希望对该文件的修改立即生效,则可以 使用 source/etc/profile 命令

/etc/paths.d 文件夹,用来设置PATH环境变量,系统级,会对某系统内所有用户生效

1、在该文件目录下创建.sh文件(shell脚本文件)

2、在新建的sh文件内写入希望加入到PATH环境变量内的文件目录

3、执行 source /etc/profile 可立即生效,如不生效,则可重启bash  shell终端

/etc/bashrc

文件,用来设置系统级环境变量,不仅仅只是设置PATH环境变量,不过此处一般设置bash shell终端相关表现

bash shell启动时,不管是登录或不登录方式,均会读取该文件

1、在该文件内逐行设置希望添加的环境变量

2、执行 source /etc/bashrc 可立即生效,如不生效,则可重启bash shell终端

~/.bash_profile

文件,用户级,用来设置用户级的环境变量,可以是PATH,也可以是自定义的环境变量

当用户登录时,会读取该文件,一般只会读取一次,建议在该文件内配置用户级的环境变量,包括PATH,并且显示执行source ~/.bashrc

1、在该文件内按照指定语法,逐行添加环境变量即可

2、执行 source ~/.bash_profile 可立即生效

~/.bash_login

文件,用户级,用来设置用户级环境变量,不仅仅只有PATH,该文件基本用不到

bash shell启动时,只有~/.bash_profile文件不存在时,才会读取该文件,如果存在,则不会读取

1、在该文件内按照指定语法,逐行添加环境变量即可

2、执行 source ~/.bash_login 可立即生效

~/.profile

文件,用户级,设置用户级环境变量,该文件基本用不到

bash shell启动时,只有~/.bash_profile 和 ~/.profile 均读取不到或不存在时,才会读取该文件

1、在该文件内按照指定语法,逐行添加环境变量即可

2、执行 source ~/.profile 可立即生效

~/.bashrc

件,用户级,设置用户级环境变量,一般也可在该文件内设置环境变量

bash shell每次启动(打开新的窗口)时,均就会读取该文件,一般建议在该文件内配置用户级的环境变量,包括PATH

1、在该文件内按照指定语法,逐行添加环境变量即可

2、执行 source ~/.bashrc 可立即生效

1.3 设置和查看环境变量相关方法和命令

命令或方法 说明 用法
export

设置环境变量

语法: export varname=varvalue,如果varname有多个值则 export varname=$varname:varvalue,即用:拼接

1、当在终端,直接输入export时,展示所有export设置的环境变量

2、也可以在以上可设置环境变量的文件内,设置对应环境变量

alias

设置命令或环境变量的别名,相较于PATH,该命令可设置指定可执行命令的别名,最常用是设置简称

语法: alias name=value

1、打开以上可设置环境变量的文件

2、输入一行  alias  aliasname=<path> 

3、比如,py=/usr/local/bin/python3.8,则以后就可以直接输入 py即可启动Python

4、如果在终端直接输入 alias ,则会展示出来当前系统中设置的所有别名

source 执行某shell脚本命令,或让指定某文件重新加载和运行,一般配合使对环境变量的修改立即生效 source ~/.bashrc
env 查看当前登录用户,可用的所有环境变量名及其对应的值 终端直接输入 env 即可
echo $var 查看指定环境变量对应的值 终端直接输入比如 echo $PATH,可查看PATH环境变量的值

二、常用环境变量说明

2.1 PATH

2.1.1 PATH 环境变量作用

与Windows操作系统类似,Mac上的PATH环境变量,也是记录电脑搜索终端命令时的搜索路径,比如在终端输入 mysql,电脑需要知道在哪些文件夹路径下找寻对应匹配的可执行文件,如果找不到,则终端会提示 command not found,所以,如果希望在终端能使用某些命令,则需要将能搜索到该命令的文件夹路径,包含到PATH环境变量内。

2.1.2 设置PATH环境变量值

#其中<PATH 1>指的是目录路径,可加引号也可不加
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

2.1.3 PATH环境变量使用举例

#比如,如果希望在bash shell内直接键入某个命令,然后就可以运行指定程序,则可以将该命令对应可执行目录添加到PATH环境变量内
#以下以运行微信为例,将以下语句加到 ~/.bashrc内
export PATH=$PATH:<wechat_dir>

2.2 其他常用环境变量

环境变量 说明 设置或读取方法
PYTHONPATH

一般在该环境变量,设置import操作搜索路径,作为sys.path的一部分

一般建议在 ~/.bash_profile文件内设置该环境变量

export download=~/downloads
export PYTHONPATH=$PYTHONPATH:$download
#或者
export PYTHONPATH=$PYTHONPATH:~/downloads
PYTHONSTARTUP

Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此变量指定的文件中的代码,比如完成自定义初始化动作

一般建议在 ~/.bash_profile文件内设置该环境变量

 
PYTHONCASEOK

加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写,一般不设置,如果需要可设置

一般建议在 ~/.bash_profile文件内设置该环境变量

 
HOME

当前登录用户主目录,也即 ~ 符号具体对应的目录路径,知道即可

echo $HOME
PWD 当前工作路径目录,也即 . 符号具体对应的目录路径,知道即可  

2.3 使用vim的方法

有些文件可能不能通过文稿直接打开并编辑,或者纵使可以打开,但修改需要权限,此时可以使用vim编辑工具,以下展示常用基础命令,主要便于辅助设置环境变量用,vim很强大,相关命令也很多,此处不再赘述

命令 说明 用法
vim filepath 使用vim编辑器打开某文件 vim ~/downloads/test.sh
i 进入输入模式 打开文件后,键盘输入 i
esc 退出输入模式 进入输入模式后,按esc键
:q 离开vim  
:w 保存

1、:w 保存修改

2、:w! 强制保存(如果文件是只读,会强制写入)

:wq! 强制保存并离开vim  

猜你喜欢

转载自blog.csdn.net/yifengchaoran/article/details/113621274