這個(gè)升級(jí)方法來自Mac下升級(jí)python2.7到python3.6坠敷,我這里抄過來是防止以后這個(gè)鏈接失效
建議安裝雙Python 請(qǐng)參考Mac安裝Python2和Python3、pip2和pip3铃剔、ipython2和ipython3
Mac下升級(jí)python2.7到python3.6 (建議不要直接升級(jí))
第一步:關(guān)閉Rootless機(jī)制
由于Mac下的python2.7 默認(rèn)是安裝在/System目錄下的循榆。但是~~~Mac有個(gè)Rootless機(jī)制析恢,默認(rèn)不允許直接在/System下作修改。所以要先關(guān)閉Rootless機(jī)制秧饮。
關(guān)閉Rootless機(jī)制的方法:
關(guān)閉:
1).重啟電腦, 重啟過程中按住command+R, 進(jìn)入恢復(fù)模式
2).打開terminal簇搅,鍵入: csrutil disable
3).重啟電腦
如果之后要再開啟Rootless機(jī)制柴灯,方法如下:
開啟:
1).重啟電腦, 重啟過程中按住command+R, 進(jìn)入恢復(fù)模式
2).打開terminal唐断,鍵入: csrutil enable
3).重啟電腦
第二步:下載安裝python3.6
從官網(wǎng)https://www.python.org/downloads/
下載pkg版本佃延,并安裝。安裝選默認(rèn)路徑泼各,會(huì)安裝到/Library/Frameworks/Python.framework/Versions/目錄下
第三步:刪除python2.7
sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7
第四步:移動(dòng)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
第五步:修改文件所屬的Group
設(shè)置Group為wheel鞍时,原來系統(tǒng)自帶的就是這樣的。
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6
第五步:更新一下Current的Link
在Versions的目錄里有一個(gè)Current的link历恐,是指向當(dāng)前的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
第六步:更新一下Current的Link
在Versions的目錄里有一個(gè)Current的link磷蛹,是指向當(dāng)前的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
第七步:重新鏈接可執(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
第八步:更新.bash_profile文件
默認(rèn)的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
我默認(rèn)是沒有.bash_profile這個(gè)文件的槽驶,直接自己創(chuàng)建嘍责嚷。
第九步:卸載pkg安裝的python3.6
這一步不做,在使用pip3命令時(shí)還是要出錯(cuò)的(它默認(rèn)連接到/Library/目錄下照pip3命令掂铐,但是實(shí)際上應(yīng)該到/System/Library/目錄下找)罕拂。博主掉這個(gè)坑好久。
我用的是CleanApp這個(gè)軟件來卸載原來pkg安裝的python3.6全陨,安裝進(jìn)來的兩個(gè)軟件都卸載爆班。
第九步:卸載pkg安裝的python3.6
這一步不做,在使用pip3命令時(shí)還是要出錯(cuò)的(它默認(rèn)連接到/Library/目錄下照pip3命令辱姨,但是實(shí)際上應(yīng)該到/System/Library/目錄下找)柿菩。博主掉這個(gè)坑好久。
我用的是CleanApp這個(gè)軟件來卸載原來pkg安裝的python3.6雨涛,安裝進(jìn)來的兩個(gè)軟件都卸載枢舶。
第十步:測(cè)試
在命令行中懦胞,用pip -V和pip3 -V查看版本和位置。用python進(jìn)入祟辟。