MacOS怎么下载Python 3.7安装包或使用Homebrew安装

星野
星野
发布时间:2026-11-10| 8人浏览过
原创

在MacOS上下载Python 3.7官方安装包或使用Homebrew生态安装的完整实用指南,包含Intel与Apple Silicon芯片架构处理、Homebrew官方废弃现状与pyenv编译替代方案、两种途径的深度对比及常见问题排错。

一、安装前准备:确认芯片架构与系统依赖

在开始下载或安装之前,首要任务是明确当前 Mac 所采用的处理器架构。Apple 从 2020 年开始逐步转向自研的 Apple Silicon 芯片(M1/M2/M3/M4 系列),而在此之前的机型采用的是 Intel x86_64 处理器。Python 3.7 的生命周期主要分布在 Intel 时代,因此不同的处理器架构直接决定了后续的安装方式与运行环境配置。

读者可以打开 macOS 自带的“终端”(Terminal)应用程序,执行以下命令检测当前系统的硬件架构:

uname -m
示例输出:
arm64 # 说明为 Apple Silicon 芯片(M系列)
# 或显示:
x86_64 # 说明为 Intel 芯片或当前终端正运行在 Rosetta 2 转译模式下

如果输出结果为 arm64,且打算采用官方 .pkg 安装包,系统必须安装 Apple 提供的 Rosetta 2 二进制转译环境。Rosetta 2 负责在底层将 x86_64 指令动态翻译为 ARM64 指令,保证旧版 Intel 应用在 Apple Silicon 上正常运行。可以在终端中执行以下命令进行一键安装:

softwareupdate --install-rosetta --agree-to-license
示例输出:
Installing Rosetta 2 on this system...
Install of Rosetta 2 finished successfully

若系统此前已安装过 Rosetta 2,终端会提示无需重复安装。确认硬件架构与基础支持就绪后,即可根据项目需要进入具体的安装途径。

二、途径一:从官方归档页面下载与安装 PKG 安装包

官方安装包途径适合希望快速获得独立 Python 3.7 环境、不打算配置额外编译工具链的读者。需要明确的是,Python 官方自 3.7.10 起进入仅安全修复阶段(Security-only),官方不再为 3.7.10 至 3.7.17 构建针对 macOS 的 .pkg 安装包。因此,在官网归档中能够直接下载到的最后一个 macOS 完整安装包版本是 Python 3.7.9。

MacOS怎么下载Python 3.7安装包或使用Homebrew安装
图 1:Python 3.7 官方 PKG 安装包获取与部署全流程

步骤 1:访问官方历史归档页

在浏览器中直接访问 Python 官方维护的 3.7.9 版本发布归档页面(官方地址为 https://www.python.org/downloads/release/python-379/)。页面底部列出了该版本的所有可下载文件列表(Files 表格)。

步骤 2:下载 64-bit 安装包

在 Files 表格中,找到 macOS 64-bit installer 项,其对应的安装包文件名为 python-3.7.9-macosx10.9.pkg。点击下载该文件至本地“下载”文件夹中。该安装包适用于 macOS 10.9 Mavericks 及后续所有更新的 macOS 系统版本。

步骤 3:运行图形化安装向导

双击下载好的 .pkg 文件,macOS 将启动标准的安装向导界面:

  • 在“介绍”和“重要信息”步骤中点击“继续”;
  • 在“许可”步骤中点击“继续”并在弹出的确认对话框中点击“同意”;
  • 在“安装类型”中保留默认的“标准安装”,点击“安装”;
  • 根据系统提示输入 Mac 管理员密码或轻触 Touch ID 确认授权,等待文件释放完成。

安装向导会将 Python 3.7 释放到系统路径 /Library/Frameworks/Python.framework/Versions/3.7,并在 /usr/local/bin 目录下建立相应的可执行文件符号链接。

步骤 4:运行根证书配置脚本(关键步骤)

由于 macOS 自带的 OpenSSL 证书存储机制与 Python 独立构建版本之间存在差异,安装完成后若直接使用 pip 安装依赖或执行网络请求,极易遇到 SSL: CERTIFICATE_VERIFY_FAILED 错误。Python 官方安装包内附带了自动化证书配置脚本。

在 Finder 中打开“访达” -> “应用程序”,找到新生成的 Python 3.7 文件夹,在其中双击运行名为 Install Certificates.command 的脚本文件。终端将自动运行并为 Python 3.7 下载并注入 certifi 根证书链。

步骤 5:验证安装结果

关闭先前的终端窗口并重新打开一个新的终端窗口,输入以下命令检查版本与实际路径:

python3.7 --version
示例输出:
Python 3.7.9
which python3.7
示例输出:
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7
# 或者软链地址:
/usr/local/bin/python3.7

三、官方 PKG 与 Homebrew/pyenv 方案的关键差异

在决定使用哪种方式之前,有必要在相同的运行条件与维护场景下,对官方 PKG 安装包与基于 Homebrew 的编译安装方案进行对比。这两种方式并非简单的操作差异,而是直接影响系统的整洁度、跨架构性能以及长期开发的多版本共存体验。

MacOS怎么下载Python 3.7安装包或使用Homebrew安装
图 2:官方 PKG 与 Homebrew/pyenv 方案核心维度对比
评估维度 途径 A:官方 PKG 安装包 途径 B:Homebrew + pyenv 编译
芯片架构适配 仅提供预编译好的 x86_64(Intel)架构二进制。Apple Silicon 用户必须依赖 Rosetta 2 动态转译执行,存在轻微指令开销。 在本地调用 Clang 编译器现场构建源码。可结合机器当前架构原生生成 arm64 二进制,或按需指定构建 x86_64 仿真环境。
系统路径与隔离 文件直接写入系统全局框架目录 /Library/Frameworks 并在公共 /usr/local/bin 建立软链,多版本并存时容易出现命令抢占。 所有文件严格限定在用户根目录 ~/.pyenv/versions/ 下,不写入任何系统共享目录,实现真正的零污染与无特权隔离。
版本切换与工程管理 必须通过显式命令 python3.7 逐次调用。无法方便地为特定开发工程设定目录级默认解释器版本。 支持基于当前目录的自动化识别(pyenv local 3.7.17)。进入旧项目自动激活 3.7,切换至其他项目即刻恢复现代 Python 版本。
卸载与清理成本 macOS 未提供官方卸载卸载脚本,需手动递归删除框架目录、Application 应用快捷方式以及多处全局二进制符号链接。 单条命令 pyenv uninstall 3.7.17 即可完全清理所有关联文件,干净彻底,无需清理系统碎片。

关键差异为什么重要:对于只需要运行单个旧脚本或进行临时测试的用户,官方 PKG 提供了最低的上手门槛,避开了本地编译环境的配置;但在实际工程开发中,Python 3.7 往往只是历史项目的一环,开发者电脑上通常同时存在 Python 3.10、3.11 或更新版本。如果通过 PKG 全局安装,多版本的 pip 包与软链接极易在全局 PATH 中互相覆盖。因此,长期从事开发工作的用户更推荐采用下文介绍的 Homebrew + pyenv 方案。

四、途径二:在 Homebrew 生态中安装 Python 3.7

很多初次尝试在 macOS 上安装 Python 3.7 的读者会直接在终端执行 brew install python@3.7,随后会收到令人困惑的错误提示。在着手安装前,首先需要理解 Homebrew 官方核心仓库的管理规则。

1. 为什么直接使用 brew install python@3.7 会失败?

Homebrew 核心仓库(homebrew-core)严格遵循开源软件上游的生命周期政策。Python 3.7 在 2023 年 6 月已经全面终止维护,Homebrew 官方随即将 python@3.7 标记为 disabled(禁用)并最终移除了对应的 Formula 配方。如果在现代系统上直接执行该命令,终端将返回明确的错误:

brew install python@3.7
示例错误输出:
Error: python@3.7 has been disabled because it is deprecated upstream!
# 或提示:
Error: No available formula with the name "python@3.7".
MacOS怎么下载Python 3.7安装包或使用Homebrew安装
图 3:基于 Homebrew 生态安装与编译 Python 3.7 实施步骤

2. 解决方案:借助 Homebrew 构建 pyenv 编译环境

虽然 Homebrew 移除了预编译公式,但 Homebrew 拥有完善的底层开发库。通过 Homebrew 安装 Python 版本管理利器 pyenv 以及 Python 3.7 编译所依赖的基础 C 语言库,再让 pyenv 在本地完成最新安全修复版源码(Python 3.7.17)的编译,是目前 macOS 开发者最为推崇的标准实践。

步骤 1:安装 pyenv 与旧版编译依赖库

Python 3.7 原生代码仅支持 OpenSSL 1.1 分支,无法直接与现代 macOS 系统中 Homebrew 默认安装的 OpenSSL 3.0 进行编译链接。因此,在安装 pyenv 的同时,必须明确要求 Homebrew 安装 openssl@1.1 和 readline:

brew install pyenv openssl@1.1 readline xz zlib
重要提示:由于 openssl@1.1 同样属于较旧的依赖,Homebrew 可能会提示该版本已不提供常规安全更新。这里安装它仅作为编译旧版 Python 3.7 的专用库,不影响系统其它软件使用 OpenSSL 3.x。

步骤 2:注入底层编译与链接环境变量

在编译执行前,必须向当前终端临时注入编译器(Clang)寻找 OpenSSL 1.1 头文件与动态链接库的绝对路径。通过 brew --prefix 动态解析路径,可以同时兼容 Intel 架构(路径为 /usr/local/opt)与 Apple Silicon 架构(路径为 /opt/homebrew/opt):

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib -L$(brew --prefix readline)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include -I$(brew --prefix readline)/include"
export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig"

步骤 3:执行 pyenv 源码拉取与本地编译

注入环境变量后,执行 pyenv install 命令,指定安装 Python 3.7 系列的最终安全补丁版本 3.7.17:

pyenv install 3.7.17
示例输出:
python-build: use openssl@1.1 from homebrew
Downloading Python-3.7.17.tar.xz...
-> https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tar.xz
Installing Python-3.7.17...
Installed Python-3.7.17 to /Users/yourname/.pyenv/versions/3.7.17

Apple Silicon 特殊处理:如果在 M 系列芯片的 Mac 上使用新版 Xcode 命令行工具编译时遇到 clang: error: unsupported option '-dumpspecs' 或 C 语言结构体报错,可以命令前附加 Rosetta 转译前缀或指定补丁编译参数:

arch -x86_64 pyenv install 3.7.17

该命令会调用 macOS 底层的 x86_64 仿真环境拉起编译进程,确保历史 C 代码在当前机器上百分之百顺利构建。

步骤 4:配置 Shell Profile 使 pyenv 生效

编译完成后,为了在日常终端中能够直接调用该版本,需要将 pyenv 的 shim 代理路径写入 Shell 配置文件。macOS 默认 Shell 为 zsh,执行以下命令将初始化语句追加到 ~/.zshrc 中:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc

步骤 5:切换与确认版本

通过 pyenv 可以灵活控制全局(global)或当前项目目录(local)的 Python 版本:

# 查看本地已安装的 Python 版本列表
pyenv versions

# 设定当前终端或目录使用 3.7.17
pyenv local 3.7.17

# 验证当前正在工作的 Python 版本
python --version
示例输出:
Python 3.7.17

五、安装后验证与虚拟环境使用规范

无论采用上述哪种途径完成安装,在真正投入使用之前,都应当进行规范的环境校验,并严格遵循工程开发标准建立独立的虚拟环境。

MacOS怎么下载Python 3.7安装包或使用Homebrew安装
图 4:Python 3.7 环境验证与虚拟环境隔离规范

1. 关键指标校验

在终端依次执行以下三条指令,确认解析器版本、安装物理路径以及二进制文件的 CPU 架构属性:

python3 -V
which python3
file $(which python3)
示例输出(官方 PKG 或 Rosetta 编译版):
Python 3.7.9
/usr/local/bin/python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7: Mach-O 64-bit executable x86_64

输出中若包含 Mach-O 64-bit executable x86_64,表明当前可执行文件在 M 系列芯片上由 Rosetta 2 转译驱动;若显示 arm64 则为原生运行。

2. 建立虚拟环境(严禁直接修改全局库)

由于 Python 3.7 已经停止官方安全更新,其内置的很多依赖库已不再适配现代 Python 生态。若直接通过 pip install 向 Python 3.7 全局环境安装模块,不仅容易引发依赖包版本打架,还可能污染操作系统全局的工具链。必须为每个旧项目建立隔离的虚拟环境:

# 进入历史项目目录
cd ~/my-python37-project

# 创建名为 .venv 的独立虚拟环境
python3 -m venv .venv

# 激活虚拟环境
source .venv/bin/activate

# 激活后终端提示符前会出现 (.venv),此时更新环境内的 pip 工具
python -m pip install --upgrade pip setuptools wheel
示例输出:
Successfully installed pip-24.0 setuptools-68.0.0 wheel-0.42.0

在激活状态下安装的所有第三方库均保存在项目当前目录的 .venv/lib 文件夹内,不会对系统其它环境产生任何干扰。当开发工作完成时,输入 deactivate 即可退出虚拟环境。

六、常见问题与排查方法

1. pip 安装第三方库时报 SSL 握手失败

现象:执行 pip install requests 等命令时,终端抛出错误 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed'))。

排查与修复:这主要是官方 PKG 安装后缺失根证书链导致的。除了在访达中双击 Install Certificates.command 外,还可以在终端直接使用 Python 执行该脚本(无需打开访达图形界面):

/Applications/Python\ 3.7/Install\ Certificates.command

脚本会自动下载并关联 certifi 根证书。完成后重新执行 pip 命令即可恢复正常。

2. 终端输入 python3 依然显示 macOS 系统自带版本

现象:安装完成后在终端运行 python3 -V,输出依然是更高版本的 Python(例如 3.9 或 3.12),或者直接提示找不到对应版本。

排查与修复:这是环境变量 PATH 的优先级问题。macOS 会按照 PATH 中声明的目录前后顺序逐一查找可执行程序。检查当前终端生效的 PATH:

echo $PATH

如果使用的是官方 PKG,可执行文件名为 python3.7,此时输入 python3.7 即可精准调用;如果使用的是 pyenv,则需检查 ~/.zshrc 中是否正确添加了 eval "$(pyenv init -)",并执行 source ~/.zshrc 刷新终端配置。

3. Apple Silicon Mac 上使用 pyenv 编译报错 C Compiler Error

现象:在 M1/M2/M3 等机型上执行 pyenv install 3.7.17 时,终端输出提示 make: *** [Modules/posixmodule.o] Error 1 或 Undefined symbols for architecture arm64。

排查与修复:Python 3.7 的 POSIX 系统模块在编写时未考虑到 Apple Silicon 的最新系统调用签名。最简便且稳定的解决方式是借助 Rosetta 2 转为 x86_64 仿真模式进行编译:

CFLAGS="-I$(brew --prefix openssl@1.1)/include" LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" arch -x86_64 pyenv install 3.7.17

通过该方式构建生成的 Python 3.7 二进制将由 Rosetta 完美桥接,绕过所有硬件架构编译兼容性陷阱,在现代 Mac 上稳定运行。

相关专题:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。