1. 前言
Mac系統(tǒng)自帶python2.7,本文目的是將自帶的python升級到3.6版本糠悯。
網(wǎng)上有本多的做法是讓python2.7和python3.X兩個版本共存入愧,博主并不知道困肩,是兩版本共存好,還是直接升級好锁荔,所以讀者要慎重選擇方法。
2. 關閉Rootless機制
由于Mac下的python2.7 默認是安裝在/System目錄下的炉菲。但是~~~Mac有個Rootless機制堕战,默認不允許直接在/System下作修改。所以要先關閉Rootless機制拍霜。
關閉Rootless機制的方法:
關閉:
1).重啟電腦, 重啟過程中按住command+R, 進入恢復模式
2).打開terminal嘱丢,鍵入: csrutil disable
3).重啟電腦
如果之后要再開啟Rootless機制,方法如下:
開啟:
1).重啟電腦, 重啟過程中按住command+R, 進入恢復模式
2).打開terminal祠饺,鍵入: csrutil enable
3).重啟電腦
3. 下載安裝python3.6
從官網(wǎng)https://www.python.org/downloads/
下載pkg版本越驻,并安裝。安裝選默認路徑,會安裝到/Library/Frameworks/Python.framework/Versions/目錄下
4. 刪除python2.7
sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7
5. 移動python3.6
將python3.6安裝到/System/Library/Frameworks/Python.framework/Versions/目錄下:
sudo mv /Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions
6. 修改文件所屬的Group
設置Group為wheel缀旁,原來系統(tǒng)自帶的就是這樣的记劈。
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6
7. 更新一下Current的Link
在Versions的目錄里有一個Current的link,是指向當前的Python版本并巍,原始是指向系統(tǒng)自帶的Python2.7目木,我們把它刪除后,link就失效了懊渡,所以需要重新鏈一下
sudo rm /System/Library/Frameworks/Python.framework/Versions/Current
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions/Current
8. 重新鏈接可執(zhí)行文件
- 先把系統(tǒng)原來的執(zhí)行文件刪掉
sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config
- 建立新的鏈接
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pydoc3.6 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pythonw3.6 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /usr/bin/python-config
9. 更新.bash_profile文件
默認的bash_profile里python的bin是指向/Library/Frameworks/Python.framework/Versions/3.6/bin的刽射。要改到/System/目錄下
vim ~/.bash_profile (只要能編輯就行)插入新的Python路徑
# Setting PATH for Python 3.6
# The orginal version is saved in .bash_profile.pysave
PATH="/System/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH
我默認是沒有.bash_profile這個文件的,直接自己創(chuàng)建嘍剃执。
10. 卸載pkg安裝的python3.6
這一步不做誓禁,在使用pip3命令時還是要出錯的(它默認連接到/Library/目錄下照pip3命令,但是實際上應該到/System/Library/目錄下找)肾档。博主掉這個坑好久摹恰。
我用的是CleanApp這個軟件來卸載原來pkg安裝的python3.6,安裝進來的兩個軟件都卸載怒见。
11. 測試
在命令行中俗慈,用pip -V和pip3 -V查看版本和位置。用python進入速种。
Mac下升級python2.7到python3.6姜盈,升級成功。