macOS系统怎么下载安装Python 3.8 pkg安装包
在 macOS 系统中下载并安装 Python 3.8 的官方 pkg 安装包,最稳妥的途径是通过 Python 官方历史归档库获取对应版本的安装程序,双击运行标准安装向导,并在安装结束后执行随包附带的证书安装脚本以配置 SSL 根信任链。这一方式不依赖第三方包管理工具,能够独立完整地将 Python 3.8 框架部署在系统框架目录中,适合需要兼容特定历史依赖、维护已有项目或要求环境纯净的开发场景。
一、下载前的准备与版本匹配
Python 3.8 是 Python 语言发展中的一个重要维护周期。按照 Python 官方发布的维护策略,Python 3.8 的最终维护版本为 Python 3.8.10(发布于 2021 年 5 月),此后该版本分支进入安全维护期直至生命周期结束。因此,在 macOS 上下载 3.8 系列的 pkg 安装包时,建议优先选择 Python 3.8.10 作为目标版本。
在选择具体安装包文件之前,需要确认当前 Mac 设备的硬件芯片类型与系统版本:
- Intel 芯片 Mac(x86_64 架构):可以直接下载
macOS 64-bit Intel installer或macOS 64-bit universal2 installer,原生适配运行。 - Apple Silicon Mac(M1 / M2 / M3 等 ARM64 芯片):Python 3.8.10 官方提供了支持 macOS 11 Big Sur 及更新系统的 universal2 通用安装包(包名为
python-3.8.10-macos11.pkg),该安装包内嵌了针对 ARM64 与 x86_64 的双架构支持。如果下载的是更早期的 x86_64 专属包,则系统会调用 macOS 内置的 Rosetta 2 动态转译执行。
二、获取 Python 3.8 官方 pkg 安装包
由于 Python 官网首页通常默认展示最新的主力稳定版本,下载 Python 3.8 这种历史版本时需要进入官方的历史版本归档专区:
- 打开浏览器,访问 Python 官方 macOS 专区页面:
https://www.python.org/downloads/macos/。 - 在页面中向下滚动,查找标有 Python 3.8.10 - May 3, 2021 的条目;或者直接访问发布归档页
https://www.python.org/downloads/release/python-3810/。 - 定位到页面底部的 Files 表格,在该列表中寻找适合 macOS 的 pkg 安装包:
macOS 64-bit universal2 installer(推荐通用包,文件名如python-3.8.10-macos11.pkg,适用于 macOS 10.9 及更高版本,含 macOS 11 及后续系统)。macOS 64-bit Intel installer(文件名如python-3.8.10-macosx10.9.pkg,适用于 Intel 架构的 Mac 设备)。
- 点击对应链接,浏览器会自动开始下载
.pkg文件至本地“下载”文件夹。
三、运行向导并完成安装
下载完成后,可以在 Finder(访达)中找到该文件并执行安装:
- 启动安装程序:双击下载的
python-3.8.10-macos11.pkg文件。系统将弹出标准的 macOS 安装器向导窗口。 - 安全验证提示处理:如果 macOS 系统提示“无法打开,因为无法验证开发者”或“来自身份不明的开发者”,请打开“系统设置”(System Settings)>“隐私与安全性”(Privacy & Security),在安全性区域找到刚才被阻止的安装包提示,点击“仍要打开”(Open Anyway),然后再次输入系统密码确认。
- 跟随安装步骤:
- 在“简介”界面点击“继续”。
- 在“重要信息”与“许可协议”界面依次阅读并点击“继续”,在弹出的小窗口中选择“同意”。
- 在“安装类型”界面保留默认的目标磁盘与标准安装路径,点击“安装”。
- 授权管理员权限:系统会提示需要修改系统配置,输入当前 Mac 的管理员账户密码(或通过 Touch ID 触控 ID 识别)确认授权。
- 完成写入:等待进度条跑完,提示“安装成功”后,点击“关闭”。此时安装程序还会询问是否将安装包移至废纸篓,可以根据需要选择保留或删除。
四、安装后的系统目录结构与环境映射
官方 pkg 安装程序采用苹果官方推崇的 Framework(框架)机制进行部署,其写入内容具有明确的分层结构:
安装包完成执行后,系统中主要会产生以下三个位置的变化:
- 系统全局框架路径:实际程序存放在
/Library/Frameworks/Python.framework/Versions/3.8/。该目录下包含了完整的解释器二进制执行文件(bin/)、标准库及后续第三方库安装位置(lib/python3.8/)。 - 应用程序入口:在
/Applications/Python 3.8/目录下生成了可视化快捷方式,包括交互式开发工具 IDLE、Python 启动器以及两个以.command结尾的系统维护脚本。 - 符号链接与环境变量:安装向导会自动在
/usr/local/bin下创建指向该框架中python3.8和pip3.8的软链接,并在当前用户的 shell 配置文件(macOS 默认 zsh 为~/.zprofile)中追加 PATH 声明。
五、关键后续:运行证书配置脚本与终端验证
很多初次在 macOS 上安装 Python 官方包的用户,在直接使用 pip3.8 install 下载库或在代码中使用 urllib/requests 访问 HTTPS 链接时,常会遭遇如下错误:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)
出现该报错的核心原因在于:macOS 官方包自带了私有的 OpenSSL 运行时,并脱离了 macOS 系统的钥匙串信任库。官方为了保证网络请求的安全性与灵活性,在安装目录中提供了一个名为 Install Certificates.command 的维护脚本。
解决步骤:
- 打开访达(Finder),进入“应用程序”(Applications)文件夹。
- 找到并打开
Python 3.8文件夹。 - 双击运行其中的
Install Certificates.command文件。系统会自动启动终端并执行更新命令,自动下载certifi证书包并在 Python 对应位置建立软链接。终端末尾输出[Process completed]时即表示修复完毕。
如果习惯使用终端,也可以直接在终端中执行以下命令达到相同效果:
/Applications/Python\ 3.8/Install\ Certificates.command
终端验证检查
安装与证书脚本执行完毕后,新开一个 macOS 终端(Terminal),依次执行以下命令检查版本与链接完整性:
# 检查 Python 3.8 命令版本
python3.8 --version
# 示例输出:Python 3.8.10
# 检查当前 python3.8 解释器所在的物理路径
which python3.8
# 示例输出:/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
# 检查配套的包管理工具 pip 版本
pip3.8 --version
# 示例输出:pip 21.1.1 from /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)
六、多版本共存与创建独立开发环境
现代 macOS 系统中通常存在系统自带的 Python 运行环境(或由 Xcode Command Line Tools 提供的 python3),也可能同时安装了 Python 3.9、3.10 或 3.11。在日常开发中,需要保持良好的隔离习惯,避免多版本冲突。
核心原则:在终端中执行命令时,明确指定版本号 python3.8 和 pip3.8,不要尝试强制重命名全局的 python 或 python3 别名,以免破坏系统或其他工具链的默认预期。
针对具体项目,强烈建议使用 Python 内置的 venv 模块创建专属的虚拟环境:
# 1. 进入您的项目目录
cd ~/Documents/my_project
# 2. 使用 Python 3.8 创建名为 .venv 的虚拟环境
python3.8 -m venv .venv
# 3. 激活虚拟环境
source .venv/bin/activate
# 4. 激活后,在终端提示符前会显示 (.venv)
# 此时直接使用 python 和 pip 即代表该环境下的 Python 3.8
python -V
pip install requests
退出虚拟环境只需在终端中执行:
deactivate
七、下载安装要点总结
通过遵循上述下载与安装路径,读者可以在 macOS 系统中快速部署稳定可用的 Python 3.8 环境。在日常开发中,牢记安装后运行 Install Certificates.command 以及使用虚拟环境(venv)管理依赖,能够有效规避大多数网络握手异常与包版本冲突问题。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









