macOS下通过官方安装包或Homebrew安装Python 3.6.8

Oliver
Oliver
发布时间:2026-10-28 | 7人浏览过
原创

在macOS系统下安装Python 3.6.8的完整实用指南。深入讲解官方PKG安装包与Homebrew结合pyenv编译安装的两种可行路径,解决证书缺失、版本弃用与多版本共存问题。

在 macOS 上安装 Python 3.6.8 主要适用于维护老旧项目、运行依赖特定旧版 C 扩展的科学计算库或配合特定教学实验环境。由于 Python 3.6 早已到达官方生命周期终点(EOL),现代 macOS 系统及其主流包管理器并不会直接默认提供该版本。本文将系统讲解如何分别通过 Python 官方历史安装包与借助 Homebrew 工具链编译安装 Python 3.6.8,同时补齐 SSL 证书配置、架构兼容与多版本共存的关键操作细节。

一、技术路径与现实环境辨析

在开始操作前,需要明确 macOS 的软硬件环境与 Python 3.6.8 的技术边界。Python 3.6.8 于 2018 年底发布,官方提供的安装程序原生支持 Intel(x86_64)架构。如果使用的是搭载 Apple Silicon(M1/M2/M3/M4 系列芯片)的 Mac,运行 3.6.8 需要依靠系统的 Rosetta 2 转译机制或进行特定的编译配置。

许多初学者会习惯性地在终端执行 brew install python@3.6,随后会收到类似 Error: No available formula with the name "python@3.6" 的错误。这是因为 Homebrew 官方仓库(homebrew-core)的政策是只维护处于官方活跃支持周期内的 Python 版本,已废弃的版本会被移出核心公式库。因此,“通过 Homebrew 安装 Python 3.6.8”的正确落地方式是借助 Homebrew 安装编译老版本所需的底层依赖(如 OpenSSL 1.1),再由版本管理工具(如 pyenv)完成源码编译与注入。

macOS下通过官方安装包或Homebrew安装Python 3.6.8
图1:macOS 下安装 Python 3.6.8 的两种主流路径及选型特征

二、通过官方安装包(PKG)安装

官方安装包是经过 Python 核心团队预编译打包的标准 macOS 安装器,安装过程直接,适合单机环境快速就绪。

1. 下载对应安装包

访问 Python 官方发布归档页面(https://www.python.org/downloads/release/python-368/)。在页面底部的“Files”列表中,选择适用于 macOS 的安装文件:

  • 安装包名称:macOS 64-bit/32-bit installer(文件名为 python-3.6.8-macosx10.9.pkg)。
  • 如果使用的是 Apple Silicon 芯片的设备,请在终端确认已安装 Rosetta 2 运行环境:
    softwareupdate --install-rosetta --agree-to-license

2. 运行安装程序与文件释放

双击下载的 .pkg 文件,根据向导点击“继续”完成许可确认与安装。安装程序会将 Python 3.6.8 的运行库与工具集释放在:

/Library/Frameworks/Python.framework/Versions/3.6/

同时,向导会在 /usr/local/bin 目录下建立软链接(如 python3.6、pip3.6 等),方便终端直接调用。

3. 核心步骤:运行证书安装脚本

这是官方包在 macOS 平台上最容易被忽略的关键步骤。自 Python 3.6 起,macOS 版官方安装包不再依赖系统的根证书信任链,而是自包含独立证书库。如果跳过此步,后续使用 urllib 请求 HTTPS 链接或运行 pip install 时,通常会触发 SSL: CERTIFICATE_VERIFY_FAILED 错误。

在终端中执行官方随包附带的证书安装脚本:

"/Applications/Python 3.6/Install Certificates.command"

该脚本会自动运行 certifi 证书更新程序并建立正确的根证书软链接。执行完毕后,终端输出类似以下结果即代表配置生效:

-- 示例输出 --
Installing certifi to run-time environment...
Removing old certs directory...
Extracting certificates to /Library/Frameworks/Python.framework/Versions/3.6/etc/openssl/certs...
SSL certificates installed successfully.
macOS下通过官方安装包或Homebrew安装Python 3.6.8
图2:官方 PKG 安装流程与后置证书初始化环节

4. 检验安装结果

在终端输入以下命令查看版本与所在路径:

python3.6 --version
which python3.6

正常情况下,终端将反馈:

-- 示例输出 --
Python 3.6.8
/usr/local/bin/python3.6

三、借助 Homebrew 与 pyenv 编译安装

对于现代开发者而言,单纯依赖官方安装包难以在同一台设备上灵活维护多个不同版本的 Python。借助 Homebrew 管理系统编译工具链,配合 pyenv 编译和管理 Python 3.6.8,是工程实践中更为推荐的做法。

1. 安装 Homebrew 与必备依赖

Python 3.6.8 在编译时依赖现代 macOS 不再默认内置的开发库,尤其是 openssl@1.1、readline 和 zlib。通过 Homebrew 安装这些支持组件:

brew update
brew install pyenv
brew install openssl@1.1 readline sqlite3 xz zlib bzip2
依赖兼容性说明
Python 3.6.8 内部原生仅支持 OpenSSL 1.0.x 与 1.1.x 分支,无法直接与目前 Homebrew 默认的 OpenSSL 3.x 进行链接。因此上述步骤必须显式指定安装 openssl@1.1。
macOS下通过官方安装包或Homebrew安装Python 3.6.8
图3:Homebrew 依赖与 pyenv 源码编译协同机制

2. 注入编译标志并执行安装

由于现代 macOS(如 macOS Monterey、Ventura、Sonoma 等)更新了 Clang 编译器与 SDK 头文件搜索逻辑,直接运行 pyenv install 3.6.8 往往会因找不到 OpenSSL 头文件而报错中断。因此需要显式传入 Homebrew 安装的依赖路径:

CFLAGS="-I$(brew --prefix openssl@1.1)/include -I$(brew --prefix readline)/include -I$(brew --prefix bzip2)/include" \
LDFLAGS="-L$(brew --prefix openssl@1.1)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix bzip2)/lib" \
pyenv install 3.6.8

如果使用的是 Apple Silicon(M 系列)架构,由于 Python 3.6 早期的构建脚本不包含对 arm64-apple-darwin 架构的完整 target 识别,直接编译可能会出现 clang: error: unsupported option 或配置脚本中断。此时可以通过 arch -x86_64 在 Rosetta 环境下发起编译:

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

3. 配置 pyenv 环境变量与生效验证

为了让系统终端能够自动识别由 pyenv 管理的 Python 版本,需要将 pyenv 的 shims 目录加入当前 Shell 的配置文件中(以 zsh 为例):

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc

随后切换并验证当前版本:

# 设定当前终端或全局使用 3.6.8
pyenv global 3.6.8

# 查看当前活跃版本与二进制指向
python --version
which python

预期输出结果如下:

-- 示例输出 --
Python 3.6.8
/Users/username/.pyenv/shims/python

四、多版本共存与虚拟环境隔离

无论采用上述哪种方式安装,Python 3.6.8 都应当作为“基础运行时”,而不是直接使用其全局环境肆意安装第三方库。由于 Python 3.6 所支持的 wheel 规范以及 pip 版本的时效性限制,混用全局包极易导致依赖解析错乱。

最健壮的实践方式是针对每个具体工程创建专门的虚拟环境(venv):

# 1. 进入您的工程目录
cd ~/projects/legacy-demo

# 2. 调用 3.6.8 的 venv 模块创建独立环境(命名为 venv36)
python3.6 -m venv venv36

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

# 4. 确认当前虚拟环境的解释器与 pip 路径
which python
which pip
macOS下通过官方安装包或Homebrew安装Python 3.6.8
图4:Python 3.6.8 与系统其他版本的共存与隔离结构

五、常见问题与排查指南

1. pip 安装第三方库时出现 pip 版本兼容或 HTTPS 报错

在 Python 3.6 环境中执行 pip install --upgrade pip 时,如果未指定版本号,可能会遇到无法解析或报错。这是因为 pip 官方从 21.3 开始逐渐停止支持 Python 3.6,支持 Python 3.6 的最后一个稳定 pip 版本是 21.3.1。

推荐的升级或重置命令为:

python -m pip install "pip<=21.3.1" setuptools wheel

2. 官方安装包环境下 urllib 抛出 CERTIFICATE_VERIFY_FAILED

当执行包含网络请求的 Python 脚本时,如果抛出如下异常:

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed>

这说明安装后未执行前文提到的证书配置脚本。请关闭终端,运行以下命令即可修复:

"/Applications/Python 3.6/Install Certificates.command"

3. pyenv 编译提示 fatal error: 'openssl/ssl.h' file not found

这通常是因为构建脚本未能通过环境变量获取 OpenSSL 的 C 语言头文件位置。Homebrew 在安装 openssl@1.1 时为了不破坏系统默认 SSL,采用“keg-only”模式(即不主动软链至 /usr/local 或 /opt/homebrew 核心搜索路径)。此时请严格检查在执行 pyenv install 命令前是否准确导出了 CFLAGS 和 LDFLAGS 参数。

六、两种安装方案选型对照

对比维度 官方 PKG 安装包 Homebrew + pyenv 源码编译
安装难度 极低,双击向导安装即可 中等,需熟悉终端命令与编译参数
芯片支持 原生仅 Intel,Apple Silicon 需依赖 Rosetta 2 支持配置 Rosetta 2 编译,灵活性高
证书配置 必须手动运行一次 Install Certificates.command 随 OpenSSL 编译绑定,无需额外运行脚本
多版本管理 需手动通过软链接或完整路径(python3.6)调用 支持 global、local、shell 粒度无缝切换
卸载清理 需手动清理 /Library/Frameworks 及 /usr/local/bin 链接 仅需执行 pyenv uninstall 3.6.8 即可彻底删除

总结而言,如果只是临时在 Intel Mac 或已配置 Rosetta 2 的机器上简单运行单次脚本,官方 PKG 搭配证书脚本是最省时的方案;如果需要在长期的工程开发中兼顾代码调试、依赖隔离与多版本平滑切换,使用 Homebrew 配合 pyenv 进行管理则是更为规范和可控的选择。

本站声明

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

Python 相关产品和应用

全部下载

专题列表