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
能夠到App Store搜尋Xcode並安裝安裝好了以後就把Xcode打開~第一次開啓的時候會須要贊成他的License Agreement之類的東西。而後到terminal輸入來安裝Xcode command line tool:ruby
xcode-select--install
安裝Xcode 就到此結束囉,要進入下一個步驟了!bash
能夠到官網或是在terminal 裏貼上:python2.7
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.
不過仍是建議你們把東西裝好,纔不會到時候忘記本身到底什麼東西還沒設定好。
接下來要正式進入安裝Python的步驟了!
首先,輸入
python --version
天哪!都還沒開始裝Python,電腦裏面怎麼已經有了?
這是Mac系統要使用的Python,因此日常沒適不要去亂動比較好唷!
因此如今咱們要用homebrew來安裝日常能夠(亂搞?)使用的Python。
利用homebrew 搜尋Python
brew search python
這時候,會看到python和python3。
由於我已經裝了,因此旁邊會寫(installed)。要安裝Python囉!
brew install python
這樣就開始安裝了。
裝完以後在輸入
brew install python3
在安裝的時候,Python 會被安裝在
/usr/local/Cellar
那就來看看這個資料夾吧
open /usr/local/Cellar/
就能夠看到你正在安裝的Python出現了!
除了Python以外,也有可能會裝一些其餘的東西,例如sqlite。
總之,不用太擔憂,homebrew會本身搞定。
(由於我裝了不少哩哩摳摳,因此你的資料夾裏可能不會有這麼多東西)
什麼是路徑$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裏面!
因此如今的問題就是,系統在/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
這時,再打一次
echo $PATH
爲何沒有變!?
由於要開一個新的terminal纔會更新唷!
開新式窗後再輸入一次就會看到咱們剛剛修改的結果了。
這樣就完成囉!
其實python3自己比較不會跟其餘人打架
由於他就是獨立的python3
因此咱們主要是要確認是否是讀到咱們用brew裝的python
which python
這時候看到
/usr/local/bin/python
再來看看python3 吧
which python3
應該會是
/usr/local/bin/python3
就表明讀到剛剛裝好的python囉!
固然若是你要跑系統自己的python
(應該是用不到啦~)
就輸入
/usr/bin/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
咱們前往路徑地址修改添加python
文件:(複製一個python2.7而後重命名爲python便可)
前往路徑地址修改添加`python`文件
這樣默認的python即修改成咱們所安裝的python2.7版本,而非系統自帶的python路徑,命令行輸入which python
查看:
查看所安裝的python2.7版本
這樣,咱們就將系統的默認python命令連接到了咱們所安裝的python目錄下,而非系統自帶的python路徑。
問題圖示以下:
pip的version都是系統自帶python的包下載路徑:
pip的version都是系統自帶python的路徑
pip的路徑都是系統自帶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 pip
和pip --version
時,pip的路徑地址改變,pip下載的包的地址也改變,再也不是系統默認地址:
pip版本顯示
這樣,便可保證使用pip下載的包路徑正確,且和咱們所安裝的兩個版本python分別對應。
咱們在使用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來下載安裝包了。