Mac同时安装python2.7和python3

Mac同时安装python2.7和python3

Mac本身自带python2.7,但根据实际使用,在安装时遇到过各种错误,而且也不是最新的2.7,为了能及时更新到最新版本,我们统一用brew重装python2.7和python3。

现在(2019.03.21)brew安装python,不指定版本的话,默认安装的是python3了,而python2.7要用[email protected]来安装,这个search一下就知道了。

安装python3

为了验证不指定版本安装的是python3,我们先进入Cellar目录,该目录为brew安装的软件包所在的目录:

cd /usr/local/Cellar/

然后用以下命令查一下,python是否存在,如果你没有自己用brew安装过,应该是不存在的:

ls -l | grep python

执行以下命令安装python:

brew install python

安装完后,再看看/usr/local/Cellar/目录下是不是有一个python了?

ls -l | grep python

既然我说默认安装的是python3,那为什么你看到的是python目录而不是python3目录呢?因为brew安装是有版本管理的,你进入python目录,就能看到3.7.x的目录,如果你更新过,那么这里应该存在多个3.7.x,当然版本是一直在增加的,也许你看本文时已经不是3.7.x了。

安装python3之后,直接运行python3 -V,如果有版本出来,那么说明安装正常(一般都不会有问题)。

但也可能有问题,那就是你先安装了python2,即先执行了brew install [email protected],解决方法:

#取消python2的软链接
brew unlink [email protected]

#把python3链接上(注意,这里的python就是指python3,pyton2要用[email protected]表示,但是链接完以后,python就是2了,python3才是3,这个要注意)
brew link python

如果你希望python也是python3,可以把/usr/local/opt/添加到~/.bash_profile~/.zshrc中的PATH里,如下所示,不管它原来有什么,你把/usr/local/opt/加进去就行,用冒号分隔:

export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/opt/:$PATH

确认python3已经可以运行之后,我们来安装python3对应的pip(python包管理工具,看情况吧,当时写文章的时候是要这么装的,后来好像会自动装上,如果已经有pip3就不用再装了):

sudo wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py

安装完成后,正常的话,应该是在/usr/local/bin/pip3

安装python2.7

先查询python2,正常的话应该是查询到[email protected]

brew search python2

然后再安装:

brew install [email protected]

注: Python2已经在2020-01-01停止支持,brew官方也已经移除(参见这里),以上search和install都无法安装了,目前(2020.05.16)安装可以直接执行以下语句(后面的步骤还是一样):

# 安装python2.7
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/[email protected]

# 更新python2.7的pip
pip install --upgrade pip setuptools

安装完之后直接执行python -V出来的还是自带的python,这时我们需要在~/.bash_profile~/.zshrc中把它覆盖掉:

export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/Cellar/[email protected]/2.7.15_1/bin/:$PATH

覆盖完后记得source一下:

source ~/.zshrc
或
source ~/.bash_profile

其实删除系统自带的也可以,不过没必要,因为mac更新系统又会回来的,所以直接覆盖引用更彻底,自带的就让它躺在那就行,反正也占不了多少空间。

打赏

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Mac同时安装python2.7和python3