如何在Mac上安裝Python 3 – Brew安裝更新指南

2021-04-15 18:00:23
部落格原文:https://blog.zhangbing.site/2021/04/15/python-version-on-mac-update/

MacOS預先安裝了Python。但是它是Python版本2.7,現已棄用(Python開發者社群已棄用)。

整個Python社群現在都開始使用Python 3.x(撰寫本文時的最新版本是3.9)。 Python 4.x即將釋出,但將完全向後相容。

如果嘗試從MacOS終端執行Python,甚至會看到以下警告:

警告:不推薦使用Python 2.7。這個版本包含在 macOS 中是為了與舊版軟體相容。未來版本的 macOS 將不包含 Python 2.7。相反,我們推薦您在終端中使用“python3”。

在Apple決定將Python 3.x設定為預設值之前,您將必須自己安裝它。

或者,您可以執行以下命令以開啟Python3:

python3

但你可能想安裝一個合適的 Python 版本控制「shim」來跟蹤各種版本,並對你使用的版本進行精細的控制。而本教學將告訴你如何做到這一點。

順便說一句,如果您想知道為什麼我繼續提到Python 3.x,則x是子版本(或開發人員稱之為點發布的版本)的代名詞。這表示Python 3的任何版本。

如何使用Homebrew在Mac上安裝最新版本的Python

首先,您需要安裝Homebrew。

開啟你的終端。你可以通過使用MacOS spotlight(command+space)並輸入「terminal」來實現。

現在您已進入命令列,您可以通過執行以下命令來安裝最新版本的Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

你的終端將要求超級使用者級別的存取。你需要輸入密碼來執行這個命令。這與你登入 Mac 時輸入的密碼相同。輸入後按確認鍵。

Homebrew會要求你確認你要安裝以下內容。你必須按確認鍵才能繼續。

如何安裝pyenv來管理您的Python版本

現在讓我們花點時間來安裝PyEnv。這個庫將幫助您在不同版本的 Python 之間進行切換。(萬一您因為某些原因需要執行 Python 2.x,並且期待 Python 4.0 的到來。)

執行以下命令:

brew install pyenv

PyEnv安裝

現在,您可以安裝最新版本的Python。

如何使用pyenv安裝最新版本的Python

現在,您只需要執行以下命令:

pyenv install 3.9.2 

注意,你可以用 3.9.2 來代替 Python 的任何最新版本。例如,Python 4.0.0 出來後,你可以執行這個。

pyenv install 4.0.0

對pyenv安裝進行故障排除

如果遇到「C compiler cannot create executables(C編譯器無法建立可執行檔案)」的錯誤,則解決此問題的最簡單方法是重新安裝Apple的Xcode。

Xcode是蘋果公司建立的一個工具,它包含了Python在MacOS上執行時使用的所有C庫和其他工具。Xcode的容量高達11千兆位元組,但你會想要更新。你可能想在睡覺的時候執行這個。

你可以在這裡獲得最新版本的蘋果Xcode。我不得不在升級到MacOS Big Sur後進行這項工作,但一旦我這樣做了,下面的命令都能正常工作。只要重新執行上面的 pyenv install 3.9.2 ,現在應該可以了。

如何為pyenv設定MacOS路徑(Bash或ZSH)

首先你需要更新你的Unix路徑,為PyEnv與你的系統互動鋪平道路。我將跳過解釋這一切是如何工作的,而只是給你提供你可以執行的官方單行命令。但如果你想了解路徑和墊片的工作原理,PyEnv的官方GitHub repo很好地解釋了這些概念。

以下是在Bash(預設情況下安裝在MacOS中)中更新 .bash_profile 的方法:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

或者,如果像我一樣安裝了ZSH(或OhMyZSH),則需要編輯 .zshrc 檔案:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

然後,您想將PyEnv Init新增到您的終端。如果您使用的是Bash,請執行以下命令(同樣,這是MacOS的預設設定):

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

或者,如果您使用的是ZSH,請執行以下命令:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

現在,通過執行以下命令重置終端:

reset

如何將Python版本設定為全域性預設值(Bash或ZSH)

您可以將Python的最新版本設定為全域性版本,這意味著當您執行Python應用程式時,它將是MacOS使用的Python的預設版本。

執行以下命令:

pyenv global 3.9.2

同樣,您可以將3.9.2替換為最新版本。

現在你可以通過檢查Python的全域性版本來驗證這是否有效:

pyenv versions

您應該看到以下輸出:

最後一步:關閉終端並重新啟動

重新啟動瀏覽器後,執行 python 命令,你就會啟動新版本的Python,而不是舊版本。

Python 3.9.2,無棄用警告

恭喜你感謝您閱讀本文,並祝您程式設計愉快。