部落格原文: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,甚至會看到以下警告:
在Apple決定將Python 3.x設定為預設值之前,您將必須自己安裝它。
或者,您可以執行以下命令以開啟Python3:
python3
但你可能想安裝一個合適的 Python 版本控制「shim」來跟蹤各種版本,並對你使用的版本進行精細的控制。而本教學將告訴你如何做到這一點。
首先,您需要安裝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 之間進行切換。(萬一您因為某些原因需要執行 Python 2.x,並且期待 Python 4.0 的到來。)
執行以下命令:
brew install pyenv
現在,您可以安裝最新版本的Python。
現在,您只需要執行以下命令:
pyenv install 3.9.2
注意,你可以用 3.9.2 來代替 Python 的任何最新版本。例如,Python 4.0.0 出來後,你可以執行這個。
pyenv install 4.0.0
如果遇到「C compiler cannot create executables(C編譯器無法建立可執行檔案)」的錯誤,則解決此問題的最簡單方法是重新安裝Apple的Xcode。
Xcode是蘋果公司建立的一個工具,它包含了Python在MacOS上執行時使用的所有C庫和其他工具。Xcode的容量高達11千兆位元組,但你會想要更新。你可能想在睡覺的時候執行這個。
你可以在這裡獲得最新版本的蘋果Xcode。我不得不在升級到MacOS Big Sur後進行這項工作,但一旦我這樣做了,下面的命令都能正常工作。只要重新執行上面的 pyenv install 3.9.2
,現在應該可以了。
首先你需要更新你的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的最新版本設定為全域性版本,這意味著當您執行Python應用程式時,它將是MacOS使用的Python的預設版本。
執行以下命令:
pyenv global 3.9.2
同樣,您可以將3.9.2替換為最新版本。
現在你可以通過檢查Python的全域性版本來驗證這是否有效:
pyenv versions
您應該看到以下輸出:
重新啟動瀏覽器後,執行 python
命令,你就會啟動新版本的Python,而不是舊版本。
恭喜你感謝您閱讀本文,並祝您程式設計愉快。