安裝 Python3且與系統 Python2共存

Mac OSX自己系統自帶Python2.7,但 不建議直接使用、刪除和更改,由於可能有些程序是須要依賴系統自帶的python 2.*,盲目修改後可能會致使系統產生未知錯誤。python

因此建議在 不修改系統的python條件下 搭建Python雙版本環境。git

Mac OSX在系統自帶的python以外,能夠 安裝Python2.7和Python3.5/3.6版本 ,而且雙版本兼容。github

安裝步驟參照:MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3【步驟也同步粘貼到了
本文下方,防止原文連接失效】sql

安裝步驟

主要就這幾個步驟而已,不會太困難的(或許有些你原本就裝好了)
Step 1 安裝Xcode
Step 2 安裝套件管理工具Homebrew
Step 3 安裝Python
Step 4 設定路徑$PATH(不跟系統Python 打架)
Step 5 完成囉!確認安裝結果~xcode

Step 1 安裝Xcode

能夠到App Store搜尋Xcode並安裝安裝好了以後就把Xcode打開~第一次開啓的時候會須要贊成他的License Agreement之類的東西。而後到terminal輸入來安裝Xcode command line tool:ruby

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

 

xcode-select--install

安裝Xcode 就到此結束囉,要進入下一個步驟了!bash

Step 2安裝套件管理工具:Homebrew


能夠到官網或是在terminal 裏貼上:python2.7

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝好後能夠跑一下curl

brew doctor

若是出現工具

Your system is ready to brew.

表明萬事OK,那若是有Warning的話,也不用太擔憂,能夠按照裏面的步驟去修正就好囉!
若是有出現Warning的話,雖然會在上面看到一句

If everything you use Homebrew for is working fine: please don't worry and just ignore them.

不過仍是建議你們把東西裝好,纔不會到時候忘記本身到底什麼東西還沒設定好。

Step 3 安裝Python

接下來要正式進入安裝Python的步驟了!
首先,輸入

python --version

天哪!都還沒開始裝Python,電腦裏面怎麼已經有了?
這是Mac系統要使用的Python,因此日常沒適不要去亂動比較好唷!
因此如今咱們要用homebrew來安裝日常能夠(亂搞?)使用的Python。
利用homebrew 搜尋Python

brew search python

這時候,會看到python和python3。
由於我已經裝了,因此旁邊會寫(installed)。要安裝Python囉!

brew install python

這樣就開始安裝了。
裝完以後在輸入

brew install python3

在安裝的時候,Python 會被安裝在

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

/usr/local/Cellar

那就來看看這個資料夾吧

open /usr/local/Cellar/

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決


就能夠看到你正在安裝的Python出現了!
除了​​Python以外,也有可能會裝一些其餘的東西,例如sqlite。
總之,不用太擔憂,homebrew會本身搞定。
(由於我裝了不少哩哩摳摳,因此你的資料夾裏可能不會有這麼多東西)

Step 4 設定路徑$PATH(不跟系統Python 打架)

什麼是路徑$PATH 呢?
還記得咱們在裝Python的時候,輸入了brew,
系統就自動會知道要開始跑homebrew。
系統到底怎麼知道咱們的brew在哪裏?
這就是$PATH的用途了!

echo $PATH

接下來就會看到一串相似這樣的東西

/usr/bin**:**/bin**:**/usr/sbin**:**/sbin**:**/usr/local/bin

分號(:)是分隔的意思
因此當你在terminal裏面輸入brew時
系統就會開始從/usr/bin找起
若是在/usr/bin裏面找不到的話
就會往下一個/bin去搜尋,以此類推
如今,咱們回到資料夾去看
brew其實就在/usr/local/bin裏面!

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

因此如今的問題就是,系統在/usr/bin裏面也有一份Python
如今咱們在/usr/local/Cellar裏面也裝了Python
這樣在terminal打上python指令時,誰會被開啓呢?
由於路徑有順序,因此它會先找到系統的Python
如今就要來解決這個問題

sudo emacs/etc/paths

sudo讓咱們取得管理員權限
用emacs這個程式編輯路徑檔案
terminal會要求輸入密碼
(就是日常裝東西也須要輸入的密碼)如今要把/usr/local/bin移到上面去control + k:把一行字剪下來control + y:把字貼上control + x + s:存檔control + x + c:關掉emacs

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

Mac <wbr>OSX同時安裝Python <wbr>2.7和Python3.6及常見問題解決

這時,再打一次

echo $PATH

爲何沒有變!?
由於要開一個新的terminal纔會更新唷!
開新式窗後再輸入一次就會看到咱們剛剛修改的結果了。

Step 5 完成囉!確認安裝結果~

這樣就完成囉!
其實python3自己比較不會跟其餘人打架
由於他就是獨立的python3
因此咱們主要是要確認是否是讀到咱們用brew裝的python

which python

這時候看到

/usr/local/bin/python

再來看看python3 吧

which python3

應該會是

/usr/local/bin/python3

就表明讀到剛剛裝好的python囉!
固然若是你要跑系統自己的python
(應該是用不到啦~)
就輸入

/usr/bin/python

FAQ

在參考的安裝流程中,我發現了一些問題並進行了解決,列出問題及解決方法以下:

1.Python2.7安裝後,按原文博主的安裝方法沒法修改系統默認的Python命令爲本身安裝Python路徑和版本:

解決方法:

打開系統配置文件:

vi ~/.bash_profile

添加入本身的安裝的Python2.7的路徑地址:

PATH="/usr/local/Cellar/python/2.7.14/bin:${PATH}"

讓PATH變量生效:

source ~/.bash_profile

咱們看到,命令行輸入which python2.7時,路徑地址改變,再也不是系統默認地址:

python2.7

python2.7


咱們前往路徑地址修改添加python文件:(複製一個python2.7而後重命名爲python便可)

 

前往路徑地址修改添加`python`文件

前往路徑地址修改添加`python`文件


這樣默認的python即修改成咱們所安裝的python2.7版本,而非系統自帶的python路徑,命令行輸入which python查看:

查看所安裝的python2.7版本

查看所安裝的python2.7版本

 

這樣,咱們就將系統的默認python命令連接到了咱們所安裝的python目錄下,而非系統自帶的python路徑。

2.Python2.7和Python3.6安裝後,pip2和pip3下載的包仍在Mac OSX系統自帶的Python2.7的包目錄下,而非Python2.7和Python3.6的安裝目錄:

問題圖示以下:
pip的version都是系統自帶python的包下載路徑:

 

pip的version都是系統自帶python的路徑

pip的version都是系統自帶python的路徑

 

pip的路徑都是系統自帶python的路徑,而非咱們的安裝路徑:

 

python的路徑

python的路徑

解決方法:

打開系統配置文件:

vi ~/.bash_profile

添加入本身的安裝的Python2.7和Python3.6的路徑地址:

# for python PATH="/usr/local/Cellar/python/2.7.14/bin:${PATH}" PATH="/usr/local/Cellar/python3/3.6.2/bin:${PATH}"

讓PATH變量生效:

source ~/.bash_profile

咱們看到,命令行輸入which pippip --version時,pip的路徑地址改變,pip下載的包的地址也改變,再也不是系統默認地址:

pip版本顯示

pip版本顯示

 

這樣,便可保證使用pip下載的包路徑正確,且和咱們所安裝的兩個版本python分別對應。

3.Pip老是不能正常下載包,安裝模塊包ConnectTimeoutError錯誤:

解決方法:

咱們在使用pip沒法正常下載包的時候可使用國內鏡像服務,如用豆瓣的源下載安裝selenium包:

pip install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

若是是要給python3下載依賴,注意pip和python版本對應,同理:

pip3 install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

這樣,便可正常的使用pip來下載安裝包了。

相關文章
相關標籤/搜索