Mac系統Python開發環境的安裝

mumingv 發表於 2022-11-23
Python

最近在使用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安裝後,python3git等命令就都可以正常使用了。

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 [email protected],具體支援哪些版本,可以到https://formulae.brew.sh/這裡查詢。

安裝位置:

解除安裝方法: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
...

參考資料

  1. Homebrew官網:https://brew.sh/
  2. Homebrew軟體包:https://formulae.brew.sh/
  3. Python官網軟體包下載:https://www.python.org/downlo...