博客原文: https://blog.zhangbing.site/2021/04/15/python-version-on-mac-update/
MacOS預先安裝了Python。可是它是Python版本2.7,現已棄用(Python開發者社區已棄用)。python
整個Python社區如今都開始使用Python 3.x(撰寫本文時的最新版本是3.9)。 Python 4.x即將發佈,但將徹底向後兼容。git
若是嘗試從MacOS終端運行Python,甚至會看到如下警告:github
在Apple決定將Python 3.x設置爲默認值以前,您將必須本身安裝它。編程
或者,您能夠運行如下命令以打開Python3:瀏覽器
python3
但你可能想安裝一個合適的 Python 版本控制「shim」來跟蹤各類版本,並對你使用的版本進行精細的控制。而本教程將告訴你如何作到這一點。bash
首先,您須要安裝Homebrew。app
打開你的終端。你能夠經過使用MacOS spotlight(command+space)並輸入「terminal」來實現。curl
如今您已進入命令行,您能夠經過運行如下命令來安裝最新版本的Homebrew:工具
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
你的終端將要求超級用戶級別的訪問。你須要輸入密碼來運行這個命令。這與你登陸 Mac 時輸入的密碼相同。輸入後按回車鍵。url
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,而不是舊版本。
恭喜你感謝您閱讀本文,並祝您編程愉快。