MacOS下使用PyEnv安装Python 3.7.7出现BUILD FAILED错误如何解决
解决MacOS Big Sur 11.5.2下PyEnv安装Python 3.7.7编译失败方案
前置操作
- 重装Xcode命令行工具,避免系统头文件缺失:
若执行xcode-select --install提示已安装,先运行sudo rm -rf /Library/Developer/CommandLineTools再重新执行安装命令 - 安装Python编译所需依赖:
brew install openssl readline sqlite3 xz zlib tcl-tk - 升级PyEnv到最新版本,避免内置兼容补丁缺失:
brew upgrade pyenv
升级完成后重启终端再执行后续操作
核心编译操作
3.7.7版本Python未原生适配Big Sur的SDK路径规则,需临时注入环境变量后再执行安装:
- 执行以下命令批量注入环境变量:
export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk export CPPFLAGS="-I${SDKROOT}/usr/include -I$(brew --prefix openssl)/include -I$(brew --prefix readline)/include -I$(brew --prefix sqlite3)/include -I$(brew --prefix zlib)/include -I$(brew --prefix tcl-tk)/include" export LDFLAGS="-L${SDKROOT}/usr/lib -L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix sqlite3)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix tcl-tk)/lib" export PKG_CONFIG_PATH="$(brew --prefix openssl)/lib/pkgconfig:$(brew --prefix readline)/lib/pkgconfig:$(brew --prefix sqlite3)/lib/pkgconfig:$(brew --prefix zlib)/lib/pkgconfig:$(brew --prefix tcl-tk)/lib/pkgconfig"
- 执行安装命令:
pyenv install 3.7.7
Apple Silicon设备补充操作
若使用M1/M2架构设备,3.7.7版本无原生Arm支持,需先开启终端Rosetta兼容模式:
右键点击终端应用→选择「显示简介」→勾选「使用Rosetta打开」→重启终端后再执行上述步骤。
内容的提问来源于stack exchange,提问作者Kaufman41
相关产品推荐
相关产品推荐

