mac下python2.7升級到3.6

1. 前言

Mac系統自帶python2.7,本文目的是將自帶的python升級到3.6版本。 
網上有本多的作法是讓python2.7和python3.X兩個版本共存,博主並不知道,是兩版本共存好,仍是直接升級好,因此讀者要慎重選擇方法。python

2. 關閉Rootless機制

因爲Mac下的python2.7 默認是安裝在/System目錄下的。可是~~~Mac有個Rootless機制,默認不容許直接在/System下做修改。因此要先關閉Rootless機制。vim

關閉Rootless機制的方法: 
關閉: 
1).重啓電腦, 重啓過程當中按住command+R, 進入恢復模式 
2).打開terminal,鍵入: csrutil disable 
3).重啓電腦bash

若是以後要再開啓Rootless機制,方法以下: 
開啓: 
1).重啓電腦, 重啓過程當中按住command+R, 進入恢復模式 
2).打開terminal,鍵入: csrutil enable 
3).重啓電腦less

3. 下載安裝python3.6

從官網https://www.python.org/downloads/ 
下載pkg版本,並安裝。安裝選默認路徑,會安裝到/Library/Frameworks/Python.framework/Versions/目錄下python2.7

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,原來系統自帶的就是這樣的。ui

sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6

在Versions的目錄裏有一個Current的link,是指向當前的Python版本,原始是指向系統自帶的Python2.7,咱們把它刪除後,link就失效了,因此須要從新鏈一下spa

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. 從新連接可執行文件

1) 先把系統原來的執行文件刪掉.net

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文件

默認的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

10. 卸載pkg安裝的python3.6

這一步不作,在使用pip3命令時仍是要出錯的(它默認鏈接到/Library/目錄下照pip3命令,可是實際上應該到/System/Library/目錄下找)。博主掉這個坑很久。

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

 

這一步還能夠把pip3.6和python3.6複製到報錯指定的位置,而後把/Sysem/...下的pip3.6 ln -s 到/usr/bin/pip

11. 測試

在命令行中,用pip -V和pip3 -V查看版本和位置。用python進入。 
這裏寫圖片描述

 

原文地址:http://blog.csdn.net/xummgg/article/details/69053334

相關文章
相關標籤/搜索