头图

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

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

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


前端全栈开发者
专栏首发于公众号《前端全栈开发者》,订阅关注第一时间阅读好文

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

11.7k 声望
6.6k 粉丝
0 条评论
推荐阅读
在Flutter中动态地改变应用启动器图标
在本文中,我们将讨论如何在 Flutter 应用程序的运行时动态更改多个应用程序启动器图标。在 pubspec.yaml 文件中添加以下依赖项。flutter_dynamic_icon:[链接]考虑我们已经准备好基本的 UI(包含图像和按钮小部...

杭州程序员张张阅读 720

封面图
工具篇:iTerm与Zsh
iTerm2支持许多的主题配色,可以自己定义,也可以参考网上现成的主题配色。我个人比较喜欢draculatheme配色。支持item,vim,phpstorm , 下方存在主题官网路径,按照教程安装即可。

super白4阅读 4.7k

python里打印list的四种方法
原文链接标题:Print lists in Python (4 Different Ways)用for循环来打印 {代码...} 结果1 2 3 4 5用 * 星号来打印 {代码...} 结果 {代码...} 把list转换为str来打印 {代码...} 结果 {代码...} 用map把数组里非...

chiiinnn阅读 10.3k

封面图
Ubuntu20.04 从源代码编译安装 python3.10
Ubuntu 22.04 Release DateUbuntu 22.04 Jammy Jellyfish is scheduled for release on April 21, 2022If you’re ready to use Ubuntu 22.04 Jammy Jellyfish, you can either upgrade your current Ubuntu syste...

ponponon1阅读 4k评论 1

mac下git命令自动补全
本文亲测可用。老版本macos方法:1、打开网页,[链接]全选,复制内容。2、在~/.bash_profile文件(如果没有需要创建)中加入以下内容即可生效

zorro阅读 4.9k

日常Python 代码片段整理
1、简单的 HTTP Web 服务器 {代码...} 2、单行循环List {代码...} 3、更新字典 {代码...} 4、拆分多行字符串 {代码...} 5、跟踪列表中元素的频率 {代码...} 6、不使用 Pandas 读取 CSV 文件 {代码...} 7、将列表...

墨城2阅读 301

Unicode 正则表达式(qbit)
前言本文根据《精通正则表达式》和 Unicode Regular Expressions 整理。本文的示例默认以 Python3 为实现语言,用到 Python3 的 re 模块或 regex 库。基本的 Unicode 属性分类 {代码...} 基本的 Unicode 子属性Le...

qbit阅读 4.3k

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

11.7k 声望
6.6k 粉丝
宣传栏