Mac自带python2,但因为开发时所用但pythonkennel是3也可能是2,并且就算是python2,版本号也许和内置但python也有所不同。所以要怎么在 Mac 上同时安装质地昂但python2和python3的版本,并且和系统所使用的 Python 区分开来呢?
- Step 1 安装Xcode
- Step 2 安装套件管理工具 Homebrew
- Step 3 安装 Python
- Step 4 设定路径 $PATH(不跟系統 Python 打架)
- Step 5 完成
Step 1 安裝 Xcode
可以到 App Store 搜索 Xcode安装,安装完成后打开,然后到teminal输入xcode-select--install
Step 2 安裝套件管理工具:Homebrew
可以到官网或是在 terminal 执行命令:
ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装完成后可以跑一下
brew doctor
如果出现
Your system is ready to brew.
代表安装成功,如果有 Warning也不用太担心,按照提示的步骤去修正就行
如果有出现 Warning 的话,会看到一句
If everything you use Homebrew for is working fine: please don’t worry and just ignore them.
不过还是建议把该装都都装好
Step 3 安裝 Python
首先,輸入
python--version
还没安装python就有了python都版本号,这是 Mac 系统使用的 Python,平常没事不要去乱动
接下来用 homebrew 安装平常可使用的 Python。
利用 homebrew 搜寻 Python
brew search python
会看到 python 和 python3。
已经安装都旁边会有 (installed)。
brew install python brew install python3
安装的Python 会被安装在
/usr/local/Cellar
open/usr/local/Cellar/
python和python3安装完成,除了python之外也会安装一些其他东西如sqlite,不过我们不用管
Step 4 设定路径 $PATH(不跟系統 Python 打架)
什么是路径 $PATH 呢?
还记得我们在装 Python 的时候,输入了 brew,系统就会自动开始跑brew,不过系统怎么知道brew在哪里?这就是$PATH 的用途
# 执行 echo$PATH # 得到 # /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin """ 分号(:) 是分隔的意思 当你在 terminal 里面输入brew时 系统会从 /usr/bin 找起 如果在 /usr/bin 找不到 就会往下一个 /bin 去搜尋,以此类推 """
現在,回到资料夹去看,brew 就在 /usr/local/bin 里
现在的问题是:系统在 /usr/bin 里有一份 Python,我们在/usr/local/Cellar里也装了python,谁会被先执行?
来看看解决方法:
系统的执行顺序写在/etc/paths中,按照里面的顺序执行,我们将文件中的/usr/local/bin写到首行即可。
sudo nano /etc/paths# terminal 会要求输入密码
之后,重启terminao后执行下面的命令,就可以看到修改的结果了
echo$PATH
Step 5 确认安装结果
which python# /usr/local/bin/python which python3# /usr/local/bin/python3