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

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