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

博客原文: 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

警告:不推薦使用Python 2.7。這個版本包含在 macOS 中是爲了與舊版軟件兼容。將來版本的 macOS 將不包含 Python 2.7。相反,咱們推薦您在終端中使用「python3」。

在Apple決定將Python 3.x設置爲默認值以前,您將必須本身安裝它。編程

或者,您能夠運行如下命令以打開Python3:瀏覽器

python3

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

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

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

首先,您須要安裝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版本

如今讓咱們花點時間來安裝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,無棄用警告

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

相關文章
相關標籤/搜索