Mac OSX 正確地同時安裝 Python 2.7 和 Python3

1,485 阅读2分钟
原文链接: stringpiggy.hpd.io

Python3 出來了(其實已經出來很久了,暈)! 但是還是有很多 library 還是使用 Python2.7,所以要怎麼在 Mac 裡面同時裝這兩個版本,並且和系統所使用的 Python 區分開來呢?今天要寫的是如何第一次就正確安裝好,並且切換預設版本,不在誤用系統的 Python。

主要就這幾個步驟而已,不會太困難的(或許有些你本來就裝好了)

Step 1 安裝 Xcode

可以到 App Store 搜尋 Xcode 並安裝

SP_Xcode 安裝好了之後就把 Xcode 打開~ 第一次開啟的時候會需要同意他的 License Agreement 之類的東西。 然後到 terminal 輸入來安裝 Xcode command line tool:

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

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

Homebrew

可以到官網或是在 terminal 裡貼上:

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

安裝好後可以跑一下

如果出現

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,電腦裡面怎麼已經有了? 這是 Mac 系統要使用的 Python,所以平常沒適不要去亂動比較好唷! 所以現在我們要用 homebrew 來安裝平常可以(亂搞?)使用的 Python。

利用 homebrew 搜尋 Python

這時候,會看到 python 和 python3。 因為我已經裝了,所以旁邊會寫 (installed)。

SP_brew-search-python 要安裝 Python 囉!

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

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

/usr/local/Cellar

那就來看看這個資料夾吧

SP_usr-local-Cellar 就可以看到你正在安裝的 Python 出現了! 除了 Python 之外,也有可能會裝一些其他的東西,例如 sqlite。 總之,不用太擔心,homebrew 會自己搞定。 (因為我裝了很多哩哩摳摳,所以你的資料夾裡可能不會有這麼多東西)

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

什麼是路徑 $PATH 呢?

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

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

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

分號 (:) 是分隔的意思 所以當你在 terminal 裡面輸入 brew 時 系統就會開始從 /usr/bin 找起 如果在 /usr/bin 裡面找不到的話 就會往下一個 /bin 去搜尋,以此類推

現在,我們回到資料夾去看 brew 其實就在 /usr/local/bin 裡面!SP_usr:local:bin

所以現在的問題就是,系統在 /usr/bin 裡面也有一份 Python 現在我們在 /usr/local/Cellar 裡面也裝了 Python 這樣在 terminal 打上 python 指令時,誰會被開啟呢? 因為路徑有順序,所以它會先找到系統的 Python 現在就要來解決這個問題

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

這時,再打一次

為什麼沒有變!? 因為要開一個新的 terminal 才會更新唷! 開新式窗後再輸入一次就會看到我們剛剛修改的結果了。

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

這樣就完成囉! 其實 python3 本身比較不會跟其他人打架 因為他就是獨立的 python3 所以我們主要是要確認是不是讀到我們用 brew 裝的 python

這時候看到

/usr/local/bin/python

再來看看 python3 吧

應該會是

/usr/local/bin/python3

就代表讀到剛剛裝好的 python 囉! 當然如果你要跑系統本身的 python (應該是用不到啦~) 就輸入

總之就是…大功告成囉!