首先需明確:
Mac 電腦上自帶有 python
查看默認的 python 版本,打開終端輸入命令 python,即可看到如下內容:

我的系統版本OS X 10.13.2,自帶的Python版本是2.7.10。
其次:
- Mac系統自帶的python環境在:
Python 2.7.10: /System/Library/Frameworks/Python.framework/Versions/2.7 其中,解釋器在該目錄下的 ./bin/python2.7 Python 2.6.9: /System/Library/Frameworks/Python.framework/Versions/2.6 其中,解釋器在該目錄下的 ./bin/python2.6
- 用戶安裝的python環境默認環境在:
Python 3.4.2:/Library/Frameworks/Python.framework/Versions/3.4 其中,解釋器在該目錄下的 ./bin/python3.4 Python 2.7.7:/Library/Frameworks/Python.framework/Versions/2.7 其中,解釋器在該目錄下的 ./bin/python2.7
注意:一般用戶再裝一遍 python 環境的時候,在終端的輸入 python 命令,默認啟動的 python 命令是當前用戶安裝的 python 版本環境(即:系統默認的 py 啟動路徑,由原來的 mac 系統默認的解釋器變為當前用戶安裝的 py 解釋器)
- 用戶安裝Anaconda3后,自帶的python環境在:
Python 3.4.1: /Users/steven/Anaconda3 (anaconda在安裝時候的自定義路徑) 其中,解釋器在該目錄下的 ./bin/python3.4
- 用戶安裝anaconda后,自帶的python環境在:
Python 2.7.8: /Users/Steven/anaconda 其中,解釋器在該目錄下的 ./bin/python2.7
注意一個小問題(跟本題無關):
在命令行下,直接輸入
StevenLiu-MacBookPro:bin steven$ pwd /Users/steven/Anaconda3/bin #在python3的環境變量下 StevenLiu-MacBookPro:bin steven$ ./python #根據當前路徑找解釋器 Python 3.4.1 |Anaconda 2.1.0 (x86_64)|(default, Sep 10 2014, 17:24:09) [GCC 4.2.1 (Apple Inc. build 5577)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>quit() StevenLiu-MacBookPro:bin steven$ python#如果沒有輸入“./”,則進入的是系統當前默認的python環境 Python 2.7.8 |Anaconda 2.1.0 (x86_64)|(default, Aug 21 2014, 15:21:46) [GCC 4.2.1 (Apple Inc. build 5577)] on darwin Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. # 這里由於設置了anaconda中的python解釋器為默認的python,所以不是 /Library/Frameworks/Python.framework/Versions/2.7
其他:
Mac系統自帶的python環境默認啟動路徑在:/usr/bin 用戶安裝的python環境默認啟動路徑在:/usr/local/bin 終端輸入: “python”命令會執行/usr/local/bin下的“python”——在沒有配置文件改變該默認路徑的條件下。
最終答案(重點):
Mac在啟動,會先加載系統配置文件(包括~/.bash_profile ),所有默認的命令的路徑,將會配配置文件(比如:~/.bash_profile)中的路徑覆蓋,並且,是后面覆蓋前面的路徑:例如,在終端輸入“python”,系統會在配置文件中的路徑查找,一直到找到位置(在配置文件中從后向前找):
例如:當前.bash_profile的內容為:
# Setting PATH for Python 2.7 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH # Setting PATH for Python 3.4 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}" export PATH # added by Steven Liu export PATH="/Users/steven/Anaconda3/bin:$PATH" # added by Anaconda 2.1.0 installer export PATH="/Users/steven/anaconda/bin:$PATH" # added by Anaconda3 2.1.0 installer export PATH="/Users/steven/Anaconda3/bin:$PATH" # Setting PATH for Subversion 1.9.0 export PATH="/opt/subversion/bin:$PATH" #export PATH="/usr/bin:$PATH"
根據該腳本,先會去找 /opt/subversion/bin 中,有沒有命名為 “python” 的可執行文件(或是快捷方式),如果沒有,則往上找,接着找 /Users/steven/Anaconda3/bin ,發現有,就為當前路徑下的解釋器環境。—— 所以,想設置python的版本,直接把你想添加的路徑export上去,並放在后面。實測有效!
參考:https://www.zhihu.com/question/30941329
