升級mac上的python從2.7到3.7

轉載-https://www.cnblogs.com/windyet/articles/9338876.html

1、前言

Mac系統(tǒng)自帶python2.7踱葛,本文目的是將自帶的python升級到3.7版本丹莲。

網(wǎng)上有本多的做法是讓python2.7和python3.X兩個版本共存,博主并不知道尸诽,是兩版本共存好甥材,還是直接升級好,所以讀者要慎重選擇方法性含。

  1. 關閉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)重啟電腦

——沒有關閉的時候理张,一下目錄無法寫和執(zhí)行:

/System
/bin
/sbin
/usr (except /usr/local)

  1. 下載安裝python3.7并安裝雾叭。

從官網(wǎng)https://www.python.org/downloads/下載pkg版本,并安裝暂幼。安裝選默認路徑,會安裝到/Library/Frameworks/Python.framework/Versions/目錄下

  1. 刪除python2.7 - 此步驟不需要管行,否則無法啟動xcode
    sudo rm -R /System/Library/Frameworks/Python.framework/Versions/2.7
    ——如果您是iOS開發(fā)者,請不要升級python,因為Xcode使用的2.7的腳本,不支持3以上版本!!!

5捐顷、移動Python3.7到system的python目錄下:

sudo mv /Library/Frameworks/Python.framework/Versions/3.7 /System/Library/Frameworks/Python.framework/Versions/3.7
———— 原先/System/Library/Frameworks/Python.framework/Versions這個目錄下已經(jīng)有了2.3雨效、2.5徽龟、2.6、2.7版本了∠纺纾現(xiàn)在只是把3.7版本再移動進去

————如果沒有第二部步關閉rootless旷祸,則移動的時候讼昆,因為要移動到System目錄下,是不會被允許的闰围。

  1. 修改文件所屬的Group

設置Group為wheel羡榴,原來系統(tǒng)自帶的就是這樣的运敢。

sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.7
——使用ls -l传惠,就可以直接看到文件/目錄的所屬用戶和所屬群組

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
————注意蜕猫,我們第4步并沒有刪除2.7哎迄,但是仍然刪除了目前的,并重新link到了3.7的版本

8翔烁、重新鏈接可執(zhí)行文件

  1. 先把系統(tǒng)原來的執(zhí)行文件刪掉

sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config

  1. 建立新的鏈接

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.7/bin/pydoc3.7 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.7/bin/pythonw3.7 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7m-config /usr/bin/python-config

  1. 更新.bash_profile文件
    默認的bash_profile里python的bin是指向/Library/Frameworks/Python.framework/Versions/3.7/bin的蹬屹。要改到/System/目錄下

復制代碼
// 1慨默、vim打開~/.bash_profile
vim ~/.bash_profile

// 2厦取、修改PATH的路徑 - 其實只是少了個/System

Setting PATH for Python 3.6

The orginal version is saved in .bash_profile.pysave

PATH="/System/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
復制代碼
——原來的路徑是安裝的默認路徑管搪。

  1. 卸載pkg安裝的python3.7 - 待處理
    這一步不做更鲁,在使用pip3命令時還是要出錯的(它默認連接到/Library/目錄下照pip3命令,但是實際上應該到/System/Library/目錄下找)朋沮。博主掉這個坑好久樊拓。

我用的是CleanMyMac這個軟件來卸載原來pkg安裝的python3.7,安裝進來的兩個軟件都卸載蒂胞。

鏈接pip到相應的位置:

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.7/bin/pip3.7 /usr/bin/pip
——請注意骗随,此時pip3鏈接到了/usr/bin/pip赴叹,所以你執(zhí)行pip命令的時候,實際上執(zhí)行的是System/...下的pip3.7涨椒,但是此時的/usr/pip默認指向的目錄是:

Library/Frameworks/Python.framework/Versions/3.7/bin/pip3.7蚕冬,也就是安裝時候的目錄是辕。

所以你需要手動修改成System下的目錄:

// 1、vim打開
sudo vim /usr/bin/pip
// 修改第一行赢乓,把它改成正確的路徑即可石窑。原路徑為安裝路徑松逊,沒有System,正確路徑如下:

!/System/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7

  1. 測試
    在命令行中犀暑,用pip -V和pip3 -V查看版本和位置。用python -V查看版本和位置

————好了烁兰,python更新完畢。謝謝广辰。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末李根,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子房轿,更是在濱河造成了極大的恐慌囱持,老刑警劉巖焕济,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡肝匆,警方通過查閱死者的電腦和手機顺献,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門注整,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寿冕,你說我怎么就攤上這事驼唱【允睿” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵京办,是天一觀的道長惭婿。 經(jīng)常有香客問我,道長县袱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任唠帝,我火速辦了婚禮,結果婚禮上编饺,老公的妹妹穿的比我還像新娘。我一直安慰自己透且,他們只是感情好,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布鲸沮。 她就那樣靜靜地躺著讼溺,像睡著了一般怒坯。 火紅的嫁衣襯著肌膚如雪藻懒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天艳馒,我揣著相機與錄音弄慰,去河邊找鬼。 笑死陆爽,一個胖子當著我的面吹牛慌闭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播驴剔,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼豺妓!你這毒婦竟也來了琳拭?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤白嘁,失蹤者是張志新(化名)和其女友劉穎絮缅,沒想到半個月后耕魄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡屎开,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甩鳄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片额划。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡俊戳,死狀恐怖抑胎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阿逃,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布呕臂,位于F島的核電站歧蒋,受9級特大地震影響澎嚣,放射性物質發(fā)生泄漏。R本人自食惡果不足惜褥琐,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一晤郑、第九天 我趴在偏房一處隱蔽的房頂上張望造寝。 院中可真熱鬧,春花似錦析显、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锦聊,卻和暖如春歹嘹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孔庭。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工尺上, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人圆到。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓怎抛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芽淡。 傳聞我的和親對象是個殘疾皇子马绝,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容