3
头图
博客原文: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,无弃用警告

恭喜你感谢您阅读本文,并祝您编程愉快。


杭州程序员张张
11.8k 声望6.7k 粉丝

Web/Flutter/独立开发者/铲屎官