最好不要使用我這個(gè)方法(6.28更新)
我升級(jí)Python使用的方法是刪除舊版本(2.7),替換成新版本(3.6),然后就出現(xiàn)了問(wèn)題,我的Xcode打不開(kāi)了.不是立馬出現(xiàn)的,過(guò)了兩天才出現(xiàn)這個(gè)問(wèn)題.百度一搜,原來(lái)是我把Python2.7刪除了的原因.
解決辦法:重新下載2.7.但是不能從官網(wǎng)下載,下載了沒(méi)用,必須從別人的Mac上的/System/Library/Frameworks/Python.framework/Versions目錄中,把"2.7""current"兩個(gè)文件夾拷貝過(guò)來(lái),放到你的相同的目錄里,然后問(wèn)題就立馬解決了.
結(jié)論:
使用我這個(gè)辦法去升級(jí)Python也是可以的,但是你需要提前把上面提到的兩個(gè)文件夾拷貝一下,然后再用我的方法去升級(jí)Python,升級(jí)完在放回去.
---------------------------我是可愛(ài)的分割線-----------------------
寫在前面
(1).是Mac,是Mac,是Mac,不是Windows,不是Windows,不是Windows.
(2).關(guān)于Python的版本升級(jí),網(wǎng)上有兩種做法,一種是刪除舊版本,安裝新版本,一種是保留舊版本,安裝替換成新版本,筆者這里采用的是前者,去舊存新.
(3).吐槽一下公司的渣網(wǎng)速,下載一個(gè)27.5M的Python 3.6.1.pkg就花去了18分鐘之久.
1.查看Python版本號(hào)##
終端中直接輸入:$ Python,即可看到當(dāng)前Python的版本.筆者當(dāng)前的Python版本是MacBook自帶的Python 2.7.10,這里就不貼圖了,請(qǐng)先查看當(dāng)前的Python版本再?zèng)Q定是否要升級(jí).
2.下載,安裝Python的最新版本##
下載地址:https://www.python.org/downloads/,可以自行選擇需要的版本,筆者這里選擇的是當(dāng)前最新的3.6.1.
3.關(guān)閉Mac OSX的Rootless機(jī)制##
Mac自帶的Python2.7是安裝在/System目錄下的,由于Rootless機(jī)制的存在,用戶不能操作/System下的文件,我們要想刪除舊版本,必須先關(guān)閉該保護(hù)機(jī)制.注意:該機(jī)制存在的目的是為了保護(hù)你的電腦,請(qǐng)?jiān)谏?jí)完P(guān)ython之后,再次打開(kāi)該機(jī)制!
關(guān)閉Rootless:#####
1.重啟電腦
2.重啟過(guò)程中按住"command"+"R",進(jìn)入恢復(fù)模式
3.打開(kāi)屏幕左上角"實(shí)用工具"->"終端"
4.輸入csrutil disable,然后回車(操作成功會(huì)提示Success之類的吧,具體忘了)
5.點(diǎn)擊一下屏幕左上角的重啟(此次為正常重啟)
6.此時(shí)就OK了,可以放肆的去操作/System中的東西了
打開(kāi)Rootless:#####
1.重啟電腦
2.重啟過(guò)程中按住"command"+"R",進(jìn)入恢復(fù)模式
3.打開(kāi)屏幕左上角"實(shí)用工具"->"終端"
4.輸入csrutil enable,然后回車
5.點(diǎn)擊一下屏幕左上角的重啟(此次為正常重啟)
6.Rootless機(jī)制就重新打開(kāi)了
4.刪除舊版本的Python##
刪除命令如下(2.7是個(gè)變量,如果你是別的版本,可別傻乎乎的也敲個(gè)2.7上去了):
sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7
5.給新版本的Python搬個(gè)家##
此時(shí)需要將新版本Python移動(dòng)到/System目錄下,命令如下(3.6是個(gè)變量,如果你是別的版本,可別傻乎乎的敲個(gè)3.6上去):
sudo mv /Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions
6.修改文件所屬的Group##
sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6
7.更新Link##
在Versions的目錄里有一個(gè)Current的link,原來(lái)是指向Python2.7的,現(xiàn)在需要我們重新鏈一下
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í)行文件##
1.刪掉原來(lái)的執(zhí)行文件
sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config
2.建立新的鏈接
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文件##
1.在終端輸入:
vim ~/.bash_profile
2.此時(shí)進(jìn)入了vim編輯模式,需要我們?cè)诘箶?shù)第二行加一個(gè)/System進(jìn)去:
#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
對(duì)于不知道把/System加在哪里的童鞋,請(qǐng)認(rèn)真比較一下你的終端和我貼出來(lái)的代碼的倒數(shù)第二行,謝謝.
3.保存退出Vim:
1.先按一下Esc鍵
2.輸入":wq"
3.敲一下回車
10.刪除pkg安裝的python3.6##
下面這句是我抄來(lái)的:
這一步不做,在使用pip3命令時(shí)還是要出錯(cuò)的(它默認(rèn)連接到/Library/目錄下照pip3命令,但是實(shí)際上應(yīng)該到/System/Library/目錄下找)。博主掉這個(gè)坑好久。
這里我推薦你直接打開(kāi)Finder,直接搜索Python3.6或者是python3.6,找到之后右鍵->"移到廢紙簍"
11.再次查看版本號(hào)##
在終端中輸入,然后回車
$ Python
如果看到下面這段話,恭喜你,成功了,去敲代碼吧,讓我猜猜,宅男的第一個(gè)Python程序是不是去抓小黃圖?
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>