【轉】Mac下升級python2.7到python3.6

來源:互聯網
上載者:User

標籤:set   python2   lib   2.7   version   art   修改檔案   位置   pre   

1. 前言

Mac系統內建python2.7,本文目的是將內建的python升級到3.6版本。
網上有本多的做法是讓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

從官網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
  • 1
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
  • 1
6. 修改檔案所屬的Group

設定Group為wheel,原來系統內建的就是這樣的。

sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6
  • 1
7. 更新一下Current的Link

在Versions的目錄裡有一個Current的link,是指向當前的Python版本,原始是指向系統內建的Python2.7,我們把它刪除後,link就失效了,所以需要重新鏈一下

sudo rm /System/Library/Frameworks/Python.framework/Versions/Currentsudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions/Current
  • 1
  • 2
8. 重新連結可執行檔

1) 先把系統原來的執行檔案刪掉

sudo rm /usr/bin/pydocsudo rm /usr/bin/pythonsudo rm /usr/bin/pythonwsudo rm /usr/bin/python-config
  • 1
  • 2
  • 3
  • 4

2) 建立新的連結

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pydoc3.6 /usr/bin/pydocsudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/bin/pythonsudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pythonw3.6 /usr/bin/pythonwsudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /usr/bin/python-config
  • 1
  • 2
  • 3
  • 4
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.pysavePATH="/System/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"export PATH
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

我預設是沒有.bash_profile這個檔案的,直接自己建立嘍。

10. 卸載pkg安裝的python3.6

這一步不做,在使用pip3命令時還是要出錯的(它預設串連到/Library/目錄下照pip3命令,但是實際上應該到/System/Library/目錄下找)。博主掉這個坑好久。

我用的是CleanApp這個軟體來卸載原來pkg安裝的python3.6,安裝進來的兩個軟體都卸載。

11. 測試

在命令列中,用pip -V和pip3 -V查看版本和位置。用python進入。

Mac下升級python2.7到python3.6,升級成功。

參考:
http://www.jianshu.com/p/94a69ef2f2ef
http://jingyan.baidu.com/article/14bd256e39b63dbb6d261289.html

【轉】Mac下升級python2.7到python3.6

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.