最近在使用Homebrew
安裝軟體的時候,總是提示macOS版本過低。我的Mac是18年買的,一直未升級,版本還是老舊的10.13 "High Sierra", 這次索性就升級到最新版本12.6 "Monterey"。具體升級系統的方法,到應用商店搜到macOS Monterey,直接安裝即可,整個過程大概花了2個小時,這是背景。
系統升級後,之前系統自帶的Python 2.7版本沒有了,對應安裝目錄/System/Library/Frameworks
下也沒有Python 3版本,另外發現git
命令也用不了了。導致這個的原因是升級後xcode
命令列工具不是自動安裝的,需要重新安裝,對應安裝命令為:xcode-select --install
。xcode安裝後,python3
和git
等命令就都可以正常使用了。
Python除了這種安裝方式之外,還有其他幾種安裝方法,在這裡統一整理一下。
三種安裝方式
1. 使用xcode-select
安裝xcode
xcode
開發者工具自帶python
。安裝後,/usr/bin/python3
為對應的可執行檔案。因為其在/usr/bin/
目錄下,可以把該版本當做系統自帶版本。
安裝命令:xcode-select --install
,可以使用xcode-select -p
檢視xcode的安裝目錄。
$ xcode-select -p
/Library/Developer/CommandLineTools
xcode
安裝完成後,python3
也就安裝好了,對應的安裝目錄為:/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework
這個版本作為系統自帶的,xcode其他工具對其有依賴,所以一般不能解除安裝,也不用解除安裝。
2. 使用Homebrew
安裝(推薦)
Homebrew
是用來管理第三方軟體包工具,如果系統自帶的python版本不滿足需要的話,可以使用其來安裝指定的版本。
安裝方法:brew install python
,該命令會預設安裝最新的版本,此時是3.10.7
。當然,也可以指定具體的版本,如:brew install python@3.10
,具體支援哪些版本,可以到https://formulae.brew.sh/這裡查詢。
安裝位置:
- 安裝目錄:
/usr/local/Cellar/python@3.10
- 快捷方式:
/usr/local/bin/python3 -> ../Cellar/python@3.10/3.10.7/bin/python3
解除安裝方法:brew uninstall python
,如果被別的軟體依賴不讓解除安裝的話,可以執行brew uninstall --ignore-dependencies python
進行強行解除安裝。
pip3
安裝的python
包位置:/usr/local/lib/python3.10/site-packages
3. 使用官網安裝包安裝
如果不想用Homebrew
安裝的話,也可以自行下載對應版本的安裝包進行安裝,和普通的視覺化軟體安裝方式一樣。這種方式安裝的python
有圖形化介面,而前面兩種方式沒有。
這種安裝方式和Homebrew
安裝方式有個衝突的地方在於,兩者都屬於自定義安裝,他們的可執行檔案位置都是/usr/local/bin/python3
,所以一般情況下不建議兩種方式同時使用。如果必須都要安裝的話,可以透過修改/usr/local/bin/python3
來指向不同的版本。
以3.10.7
版本的安裝為例。
下載地址:https://www.python.org/downlo...
下載後的安裝包:python-3.10.7-macos11.pkg
,沒啥說的,直接雙擊安裝。
安裝後有三個位置:
- 安裝目錄:
/Library/Frameworks/Python.framework/Versions/3.10
- 快捷方式:
/usr/local/bin/python3 -> ../../../Library/Frameworks/Python.framework/Versions/3.11/bin/python3
- 應用程式:
/Applications/Python 3.10
支援安裝多個不同的版本,如:2.7、3.10、3.11等。下載對應的安裝包直接安裝即可。
需要解除安裝的話,將上面三個位置的相關安裝目錄和檔案刪除,同時恢復一下PATH
,操作如下:
// 刪除安裝目錄和檔案
$ sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.10
$ sudo rm -rf /Applications/Python\ 3.10/
$ ls -l /usr/local/bin | grep '/Library/Frameworks/Python.framework/Versions/3.10' | awk '{print $9}' | tr -d @ | xargs rm
// 刪除下面的配置,恢復PATH
$ vim ~/.bash_profile
...
# Setting PATH for Python 3.10
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.10/bin:${PATH}"
export PATH
...
參考資料
- Homebrew官網:https://brew.sh/
- Homebrew軟體包:https://formulae.brew.sh/
- Python官網軟體包下載:https://www.python.org/downlo...