macOS怎么安装Python:官方安装包与Homebrew两种方式
详细讲解在 macOS 系统上安装与配置 Python 的两种主流方案:官方 PKG 安装包与 Homebrew 命令行。包含逐步实操演示、证书脚本执行、环境变量与验证方法及适用场景选型。
一、准备工作与 macOS 系统 Python 现状
在开始安装前,先了解 macOS 当前的运行环境可以避免后续混淆。自 macOS 12.3 版本开始,苹果系统彻底移除了早期的系统预置 Python 2;而若在系统中安装了 Xcode 或其命令行工具(Command Line Tools),系统可能会附带一个位于 /usr/bin/python3 的精简环境。
这个系统自带的精简版 Python 主要是为了支撑系统和开发工具的内部脚本,缺少完整的标准库扩展,也不允许也不应该在此环境下直接通过全局 pip 随意安装第三方库。因此,无论用于学习、数据分析还是软件开发,在 macOS 上独立安装一份属于自己的 Python 3 都是标准做法。
python3 --version
二、方式一:使用官方安装包(.pkg)安装
官方安装包由 Python 官方核心团队维护构建,是面向个人电脑用户最直观、门槛最低的安装途径。它自带独立的图形编辑器 IDLE、完整标准库以及独立的 Framework 目录架构。
步骤 1:从官网下载 Universal2 安装包
使用 Safari 或常用浏览器访问 Python 官方网站的下载专区(python.org/downloads/macos/)。页面会自动识别 macOS 系统并推荐最新的稳定版本(如 Python 3.12 或 3.13)。
下载格式为 macOS 64-bit universal2 installer 的 .pkg 文件。“universal2”意味着该安装包同时内置了适配 Apple Silicon 架构芯片(M1/M2/M3/M4 系列)和传统 Intel 架构芯片的二进制文件,无论使用的是哪款 Mac 都可以原生运行。
步骤 2:运行图形向导完成安装
下载完成后,在“访达”的“下载”文件夹中双击该 .pkg 文件:
- 介绍与重要信息: 点击“继续”,阅读版本发布说明。
- 许可协议: 点击“继续”,并在弹出的对话框中点击“同意”接受软件许可。
- 安装位置与类型: 默认会安装在“Macintosh HD”主系统盘上,无需更改自定义设置,点击“安装”。
- 管理员授权: 输入当前 Mac 的开机密码或通过 Touch ID 确认授权,等待进度条走完(通常约 1 分钟)。
步骤 3:关键一步——运行 Install Certificates.command
这是官方安装包在 macOS 上最容易被遗漏的关键步骤。官方安装包为了确保运行独立性,自带了专属的 OpenSSL 库,它默认不直接共享 macOS 钥匙串里的根证书链。如果不补充配置根证书,后续在 Python 中运行涉及网络请求的脚本(例如使用 urllib 抓取网页或通过 pip 下载)时,常会遇到 SSL: CERTIFICATE_VERIFY_FAILED 错误。
Python 3.x 文件夹。在文件夹内找到名为 Install Certificates.command 的脚本文件,双击运行它。终端窗口将自动弹出并下载安装 certifi 证书文件,看到输出 Update complete 后关闭终端窗口即可。
步骤 4:验证终端路径与版本
打开全新的“终端”窗口,执行以下命令验证是否安装成功并已写入系统命令路径:
python3 --version
which python3
Python 3.12.3
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3 (或通过软链接指向 /usr/local/bin/python3)
三、方式二:使用 Homebrew 命令行安装
Homebrew 是 macOS 平台最广泛使用的开源包管理器,被开发者亲切称为“Mac 的 App Store 终端版”。通过 Homebrew 安装 Python,所有的依赖项(如 OpenSSL、xz、readline 等)都会由系统统一管理,非常适合习惯命令行操作的开发者。
步骤 1:确保已安装 Xcode 命令行工具
Homebrew 在安装或编译软件时需要依赖底层的编译链工具。在终端中输入:
xcode-select --install
若弹出系统安装提示,点击“安装”并等待下载完成;如果终端提示 xcode-select: error: command line tools are already installed,则说明已就绪,可直接进入下一步。
步骤 2:检查或更新 Homebrew
在终端中检查 Homebrew 是否就绪:
brew --version
如果尚未安装 Homebrew,可在终端执行其官方安装命令完成部署。若已安装,建议先同步一下最新的公式仓库索引:
brew update
步骤 3:执行安装命令
在终端中直接执行安装:
brew install python
Homebrew 会自动抓取当前最新稳定版 Python(当前通常为 python@3.12 或 python@3.13),并自动补齐必要的依赖库。下载后它会自动将其解压至 Cellar 目录,并在可执行路径中创建好 python3 和 pip3 的符号链接。
步骤 4:确认环境变量与路径生效
在 macOS 上,Homebrew 的可执行程序存放路径会依据硬件芯片架构而有所不同:
- Apple Silicon 芯片(M 系列): 路径位于
/opt/homebrew/bin/python3 - Intel 芯片: 路径位于
/usr/local/bin/python3
运行以下命令检查当前调用的实际路径:
which python3
python3 --version
/opt/homebrew/bin/python3
Python 3.12.3
四、系统路径架构对比与现代 Python 环境实践
理解 Python 文件在 Mac 硬盘上的组织形式,有助于读者在遇到依赖冲突或多版本并存时准确排查问题。
从上图可以看到两种安装方式在磁盘中的定位差异:
- 官方安装包: 集中存放在
/Library/Frameworks/Python.framework下,独立封装各子版本,并在/Applications中提供可视化配套工具。 - Homebrew: 遵循统一的 Unix 包管理规范,实体文件放入
Cellar仓库,通过统一的bin目录对外暴露符号链接,方便统一更新。
避免踩坑:PEP 668 与虚拟环境规范
在现代 Python 版本(特别是 Python 3.12 及以上)中,无论是通过官方包还是 Homebrew 安装,如果直接在全局执行 pip3 install <package>,系统通常会弹出一长串提示:
× This environment is externally managed
╰─> To install Python packages system-wide, try ...
这并非安装损坏,而是 Python 社区采纳的 PEP 668 保护机制。其目的是防止用户全局无序安装的第三方库破坏操作系统或包管理器自身的运行依赖。
正确的应对做法是为每个具体项目建立专属的虚拟环境(venv):
# 1. 创建一个名为 myenv 的虚拟环境目录
python3 -m venv myenv
# 2. 激活虚拟环境
source myenv/bin/activate
# 3. 此时终端前缀会出现 (myenv),可自由安全地安装所需库
pip install requests
# 4. 完成开发后,退出虚拟环境
deactivate
五、选型对比与安装验收检查
为了帮助读者根据实际情况做出选择,我们将两种途径的重点特性整理对比如下:
| 对比维度 | 官方安装包 (.pkg) | Homebrew 命令行方式 |
|---|---|---|
| 操作界面 | 图形化向导,连续点击即可完成 | 纯命令行操作,依赖终端命令 |
| 前置要求 | 无需任何开发工具链,下载即装 | 需要预先配置 Xcode CLT 与 Homebrew |
| 附带工具 | 附带官方 IDLE 轻量编辑器与 Python Launcher | 仅提供纯命令行可执行程序与库 |
| 版本更新 | 需手动前往官网下载新版本 PKG 安装覆盖 | 一条命令 brew upgrade python 完成升级 |
| 卸载清理 | 需手动删除 Framework 目录与 Applications 文件夹 | 一条命令 brew uninstall python 清理干净 |
| 推荐人群 | 编程初学者、非计算机专业科研人员、轻量脚本编写者 | 软件工程师、重度终端用户、多工具链开发者 |
安装验收清单
无论选择哪种方式,安装完成后只需按照以下三步在终端中快速自检:
- 查看 Python 版本号: 运行
python3 --version,能够正常输出版本数字即代表解释器就绪。 - 查看配套 pip 版本号: 运行
pip3 --version,确保其路径对应刚才安装的 Python 3 路径。 - 单行命令执行测试: 运行
python3 -c "print('macOS Python is ready')",终端如果正常回显字符串,说明整个 Python 运行环境已在 macOS 上配置成功。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













