macOS怎么安装最新版Python?区分系统自带与官方安装包

Dylan
Dylan
发布时间:2026-11-06 | 5人浏览过
原创

详解在macOS上通过Python官方Universal2安装包安装最新版Python的完整步骤,讲清/usr/bin/python3与官方Python.framework目录的区别、PATH优先级配置、SSL证书配置及多版本验证方法。

在 macOS 上安装最新版 Python,最稳妥的做法是从 Python 官方网站(python.org)下载 macOS 专用的 .pkg 安装包直接安装,并保持系统原有的 /usr/bin/python3 不被改动。很多用户在安装后发现终端里的版本没有变化,或者安装包时遇到权限报错,原因大多是没有区分苹果命令行工具提供的 Python 与官方独立安装的 Python。本文先说明两者的目录结构与识别方式,再按实际顺序讲解官方安装包的下载、安装、SSL 证书配置及环境变量核对方法。

一、为什么终端已经有 python3,还需要安装官方包?

打开 macOS 的“终端”(Terminal)输入 python3 -V,许多电脑会直接返回一个版本号(例如 3.9.6),或者弹出一个提示框询问是否安装“命令行开发者工具”(Command Line Developer Tools)。这个位于 /usr/bin/python3 的程序并不是 macOS 预装给用户做日常开发的主力环境,而是 Apple 随 Xcode Command Line Tools 附带的解释器。

Apple 提供 /usr/bin/python3 的主要目的是满足构建工具和脚本运行需求。它的版本随当前系统的 Xcode 工具链固定,更新节奏远慢于 Python 官方发布周期,且不包含官方自带的图形界面工具 IDLE 和独立的根证书配置脚本。更重要的是,/usr/bin 目录受 macOS 系统完整性保护(SIP)限制,任何用户或程序都无法直接删除、覆盖或就地升级这个文件。

而从 Python 官网下载的 .pkg 安装包,会将完整的新版 Python 写入系统级的独立框架目录 /Library/Frameworks/Python.framework,并通过修改 Shell 配置文件把新版路径排在 /usr/bin 前面。两者各自存放在不同目录,互不覆盖。

对比维度 系统/命令行工具自带 Python Python.org 官方安装包
可执行文件路径 /usr/bin/python3 /Library/Frameworks/Python.framework/Versions/3.x/bin/python3(并在 /usr/local/bin/python3 创建符号链接)
来源与维护方 Apple(随 Xcode Command Line Tools 安装) Python 软件基金会(Python.org)
版本特点 版本较旧且长期固定(常见为 3.9.x) 始终提供最新稳定版,可并存多个次要版本
能否直接删除或覆盖 受 SIP 保护,不可删除或覆盖 可通过删除对应 Framework 目录与链接卸载
适用场景 系统级脚本调用、Xcode 构建依赖 日常 Python 编程、第三方库安装、虚拟环境创建
macOS怎么安装最新版Python?区分系统自带与官方安装包
图 1:macOS 自带(Command Line Tools)Python 与 Python.org 官方安装包的安装路径对比

二、安装前先检查当前电脑上的 Python 状态

在下载新版本前,先打开“应用程序 → 实用工具 → 终端”,执行以下两条命令,确认当前电脑上已经存在哪些 `python3` 以及它们所在的路径。

终端执行命令(环境:macOS 默认 zsh):
which -a python3
python3 -V
示例输出(仅安装了命令行工具的常见状态):
/usr/bin/python3
Python 3.9.6

这里使用 which -a python3 而不是普通的 which python3,是因为 -a 参数会按当前环境变量 PATH 的先后顺序,列出系统能找到的所有同名 `python3` 路径。如果输出只有一行 /usr/bin/python3,说明当前电脑尚未安装官方版本,或者官方版本的路径没有写入环境变量。

三、下载并安装 Python 官方最新版(.pkg)

Python 官方为 macOS 提供了将 Intel 芯片(x86_64)和 Apple Silicon 芯片(M1/M2/M3/M4 等 arm64 架构)打包在一起的通用安装程序(Universal2 installer),无需担心选错芯片架构。

1. 从官网获取最新稳定版安装包

使用浏览器访问 Python 官方 macOS 下载页:https://www.python.org/downloads/macos/。页面顶部默认展示当前的最新稳定版本(Stable Releases)。

  • 認准带有 Stable Releases 标记的条目,点击 Download macOS 64-bit universal2 installer 链接,下载形如 python-3.x.y-macos11.pkg 的安装文件(其中 3.x.y 对应官网当时的最新稳定版本号;macos11 表示最低支持 macOS 11 Big Sur 及更高版本,在 macOS Ventura、Sonoma、Sequoia 等新系统上均可正常安装)。
  • 不要误选页面右侧的 Pre-releases(预发布测试版,名称中带有 a、b 或 rc 字样),以免部分第三方扩展库尚未提供兼容的预编译包。

2. 运行 .pkg 安装向导

双击下载好的 .pkg 文件启动安装器,依次点击“继续”(Continue)阅读说明并同意软件许可协议。在点击“安装”(Install)并输入 macOS 登录密码后,安装程序会自动完成三件事:

  1. 将完整的解释器、标准库和头文件写入 /Library/Frameworks/Python.framework/Versions/3.x;
  2. 在 /usr/local/bin 目录下创建指向该版本的 python3 和 pip3 符号链接;
  3. 自动向当前用户主目录下的 ~/.zprofile(如果默认 Shell 为 bash 则是 ~/.bash_profile)追加环境变量配置,把新版 Python 的 bin 目录放到 PATH 最前面。

3. 运行 Install Certificates.command 配置 SSL 证书

这是 macOS 官方安装包最容易被忽略的一步。Python.org 的 macOS 安装包默认不直接读取 macOS“钥匙串访问”里的系统根证书,而是使用独立捆绑的 certifi 证书包。如果在安装窗口关闭前忽略了证书安装脚本,后续用 urllib 请求 HTTPS 网址或拉取数据时,常会报 CERTIFICATE_VERIFY_FAILED 错误。

安装完成时,访达(Finder)通常会自动弹出 /Applications/Python 3.x 文件夹。请在该文件夹中双击运行 Install Certificates.command。此时会弹出一个终端窗口,自动使用 `pip` 安装并链接 `certifi` 根证书,当窗口末尾显示 [进程已完成] 或 [Process completed] 时即可关闭窗口。

如果安装窗口已经关闭,也可以直接在终端里手动执行该脚本(将命令中的 3.x 替换为你实际安装的次要版本号,例如 3.13):

终端执行命令:
open "/Applications/Python 3.x/Install Certificates.command"
macOS怎么安装最新版Python?区分系统自带与官方安装包
图 2:macOS 下载并安装 Python 官方 Universal2 安装包的完整操作步骤

四、验证安装结果与理解 PATH 优先级机制

安装向导修改的是登录配置文件 ~/.zprofile,安装前就已经打开的旧终端窗口不会自动读取新配置。因此,请先关闭旧窗口重新打开一个终端,或者在当前窗口执行以下命令让配置立即生效:

终端执行命令:
source ~/.zprofile
which -a python3
python3 -V
pip3 -V
示例输出(以官方安装 3.13 系列为例):
/Library/Frameworks/Python.framework/Versions/3.13/bin/python3
/usr/local/bin/python3
/usr/bin/python3
Python 3.13.2
pip 25.0 from /Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pip (python 3.13)

从 which -a python3 的示例输出可以清楚看到三个路径同时存在,且排在第一行的是 /Library/Frameworks/Python.framework/...,最后一行才是系统自带的 /usr/bin/python3。当你在终端直接输入 python3 时,Shell 会从上到下采用第一个命中的程序,因此实际运行的就是刚安装的官方最新版,而系统自带的 /usr/bin/python3 依然完好保留在原处。

macOS怎么安装最新版Python?区分系统自带与官方安装包
图 3:Shell 按照 PATH 环境变量从前向后检索 `python3` 的优先级机制

五、安装后常见困惑与排查方法

1. 安装完成后输入 python3 -V 仍然是旧版本 3.9.6?

出现这种情况通常有两个原因:

  • 未重开终端或配置写在另一个文件:先查看 ~/.zprofile 中是否已经包含官方安装器写入的段落。可以在终端运行 cat ~/.zprofile 检查。如果你平时使用了 Oh My Zsh 或在 ~/.zshrc 中手动重置过 export PATH=...,可能会把 ~/.zprofile 先加载的路径覆盖掉。
  • 修复做法:打开 ~/.zshrc 检查是否存在写死的 PATH 赋值。若需要将官方 Python 明确置于最前,可在 ~/.zprofile(或 ~/.zshrc 末尾)确认包含如下两行(将 3.x 替换为你的实际安装版本,如 3.13):
配置文件内容(~/.zprofile):
PATH="/Library/Frameworks/Python.framework/Versions/3.x/bin:${PATH}"
export PATH

2. 为什么输入 python 提示 command not found: python?

从 macOS Monterey(12.3)开始,苹果彻底移除了历史遗留的 Python 2.7(即早期的 /usr/bin/python),而 Python 官方安装包为了遵守 PEP 394 规范,默认只注册 python3 和 pip3 命令,不自动占据无数字后缀的 python 命令。

平时在终端运行脚本或安装包时,直接使用 python3 和 pip3 是最清晰、最不易混淆的做法。如果部分旧脚本要求直接调用 python,可以在激活项目虚拟环境(venv)后使用——虚拟环境内部会自动同时提供 python 与 python3 两个命令,无需修改系统全局别名。

3. 如何使用官方新版 Python 创建独立项目环境?

即便已经切换到了官方最新版 Python,也不建议直接用 pip3 install 把所有第三方库都装进全局的 /Library/Frameworks/Python.framework 目录。在开发具体项目时,使用内置的 venv 模块创建虚拟环境,既能直接继承官方新版解释器,又能让每个项目的依赖互不干扰:

终端执行命令(在项目文件夹内创建并激活虚拟环境):
mkdir -p ~/projects/demo_app
cd ~/projects/demo_app
python3 -m venv .venv
source .venv/bin/activate
which python
python -V
示例输出:
/Users/username/projects/demo_app/.venv/bin/python
Python 3.13.2
提示:激活虚拟环境后,终端提示符左侧会出现 (.venv) 标识。此时无论输入 python 还是 pip,指向的都是当前项目目录 `.venv` 下的新版官方 Python 副本,完全不会改动系统自带的 /usr/bin/python3。

六、核心要点总结

在 macOS 上管理 Python 环境,核心在于“不动系统自带目录、用好官方独立框架、核对 PATH 顺序”。下图汇总了从区分环境、执行安装到日常使用的完整核对清单:

macOS怎么安装最新版Python?区分系统自带与官方安装包
图 4:macOS 安装最新版 Python 与区分系统自带环境的核对清单

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表