Mac OS、GNU linux OS、Unix OS,似乎有着相似的指令行和shell功能,但却是完全不同的操作系统。
只不过,linux和Mac OS,都有类Unix的性质。
-
Unix OS
Unix出现的最早,所以似乎扮演了大家的爸爸的角色。Unix是由Bell lab开发的服务器级(不支持PC)、贼贵的操作系统。
Unix使用X Window(一个跑在Unix内核外的应用)构建图形环境,X window包括X client和X Server两部分。
-
linux OS(with linux 内核)
linux是类Unix,出现的动机是创造免费的、适合desktop的开源操作系统。
-
Mac OS(with Darwin 内核)
Mac OS是苹果公司用于苹果desktop/laptop的操作系统,前身是Berkley的Mach系统 + BSD系统。
Mac OS的内核Darwin是类Unix,所以才带来了shell的相似性。
----------------------------------------------------------------- PYTHON on MAC----------------------------------------------------------------------------------
MAC OS默认自带python 2.7(存放在/usr/bin/python,这个python,千万莫删除)
-
但是在使用时,有些情况下需要我们安装使用别的版本的python,我们就可以通过:
1. 直接在python.org下载安装包;
2. anaconda发行版
等方式来获得指定的python版本。
-
不同方式安装获得的python,存储于不同的地方:
1. anaconda:/Users/XXX/anaconda/bin/python
2. python.org安装器安装:/Libarary/Frameworks/Python.framework; /usr/local/bin/python.
-
要查看系统已有的python版本,可以用which -a python/ which -a python3:
-
当系统中存在多个python版本时,在shell中呼叫python时默认启用的那个python版本是$PATH中最靠前的一个:
如上,我的系统里只有一个python3.7和一个anaconda安装的python2,所以没有冲突。但是若比如又有python3.7以及3.5时,谁出现在PATH的前面,谁就被shell默认呼叫。
-
modify $PATH variable
通过.bashrc or .bash_profile文件来调整$PATH.前者是interactive non-login的,需要source ~/.bashrc来手动激活该文件中的修改(source是一个shell指令,表示执行.bashrc文件中的所有command)。.bash_profile是login的,每次登陆系统自动执行一遍其中的所有shell指令。
我的.bash_profile如下(用open ~/.bash_profile在一个editor中打开该文件或者vim ~/.bash_profile直接在vim中进行修改):
可见已经手动注释掉了一些不用的python版本,它们在启动shell的时候就不会被写入$PATH了。
红色标出的是留下的anacond安装的python和python.org下载的安装器安装的python3.7.
在.bash_profile文件中更靠下的export PATH,会出现在$PATH的前面,有更高的优先级。
-
删除某些不想要的python版本时: