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版本時: