Mac OS與Linux的關係,以及如何在Mac OS設備上管理Python多版本

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章