MacOS下使用pyenv安装Python时出现zlib错误求助
解决pyenv安装Python 3.6.5失败的问题
我之前在MacBook Pro上用pyenv装老版本Python时也踩过一模一样的坑!尤其是3.6.5这类比较旧的版本,很容易因为依赖兼容或者系统环境的问题报错BUILD FAILED,给你几个亲测有效的解决步骤:
步骤1:更新Homebrew依赖并设置适配的环境变量
老版本Python对OpenSSL的版本有严格要求,新版Homebrew默认的OpenSSL(3.x系列)和Python 3.6.5不兼容,先把依赖和环境配置到位:
- 首先更新Homebrew所有包到最新状态:
brew update && brew upgrade - 安装编译Python必需的依赖,特意指定兼容的旧版OpenSSL:
brew install openssl@1.1 readline sqlite3 xz zlib - 安装前设置环境变量,让pyenv编译时指向Homebrew的OpenSSL 1.1版本:
export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib" export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include" export PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig" - 现在重新执行安装命令:
pyenv install 3.6.5
步骤2:清理pyenv缓存后重试
如果之前下载的Python安装包有损坏,也会导致编译失败:
- 删除缓存的Python 3.6.5安装文件:
rm -rf ~/.pyenv/cache/Python-3.6.5* - 再次运行
pyenv install 3.6.5尝试安装
步骤3:检查Xcode Command Line Tools状态
Mac上编译Python需要依赖Xcode的命令行工具,确保它是最新且正常工作的:
- 如果还没安装,执行以下命令安装:
xcode-select --install - 若已安装但仍有问题,试试重置工具路径:
xcode-select --reset
补充说明
Python 3.6.5是2018年发布的旧版本,它的编译逻辑和新版macOS(比如Ventura、Sonoma)以及Homebrew默认提供的高版本依赖不匹配,必须指定用OpenSSL 1.1这类兼容版本才能完成编译。
内容的提问来源于stack exchange,提问作者Adam Matan
相关产品推荐
相关产品推荐

