You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac用Homebrew+pyenv安装Python2.7.7时zlib缺失报错求助

在MacOS Monterey 12.5上用pyenv安装Python 2.7.7的zlib缺失问题解决办法

问题背景

  • 设备:MacBook Air(1.6GHz双核Intel Core i5)
  • 系统:OSX 12.5 Monterrey
  • 核心问题:使用Homebrew搭配pyenv安装Python 2.7.7时,持续出现「Missing zlib」编译错误

已尝试的操作

  1. 安装pyenv后,通过nano ~/.bashrc在配置文件中添加eval "$(pyenv init -)"并保存
  2. 执行pyenv install 2.7.7,安装失败
  3. 尝试指定zlib路径安装:CPPFLAGS="-I$(brew --prefix zlib)/include" pyenv install -v 2.7.7,仍报错
  4. 重新安装zlib:brew reinstall zlib,并更新~/.bashrc内容为:
export PATH="/usr/local/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
export LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/bzip2/include"

报错信息

rm -f /Users/victor/.pyenv/versions/2.7.7/bin/python2
(cd /Users/victor/.pyenv/versions/2.7.7/bin; ln -s python2.7 python2)
rm -f /Users/victor/.pyenv/versions/2.7.7/bin/python2-config
(cd /Users/victor/.pyenv/versions/2.7.7/bin; ln -s python2.7-config python2-config)
rm -f /Users/victor/.pyenv/versions/2.7.7/bin/python-config
(cd /Users/victor/.pyenv/versions/2.7.7/bin; ln -s python2-config python-config)
test -d /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig || /usr/bin/install -c -d -m 755 /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig
rm -f /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig/python2.pc
(cd /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig; ln -s python-2.7.pc python2.pc)
rm -f /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig/python.pc
(cd /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig; ln -s python2.pc python.pc)
rm -f /Users/victor/.pyenv/versions/2.7.7/share/man/man1/python2.1
(cd /Users/victor/.pyenv/versions/2.7.7/share/man/man1; ln -s python2.7.1 python2.1)
rm -f /Users/victor/.pyenv/versions/2.7.7/share/man/man1/python.1
(cd /Users/victor/.pyenv/versions/2.7.7/share/man/man1; ln -s python2.1 python.1)
ERROR: The Python zlib extension was not compiled. Missing the zlib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (OS X 12.5 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/__/1_b0871s7fl7fpwydg4ycjj80000gn/T/python-build.20220729111901.75727
Results logged to /var/folders/__/1_b0871s7fl7fpwydg4ycjj80000gn/T/python-build.20220729111901.75727.log

Last 10 log lines:
(cd /Users/victor/.pyenv/versions/2.7.7/bin; ln -s python2-config python-config)
test -d /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig || /usr/bin/install -c -d -m 755 /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig
rm -f /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig/python2.pc
(cd /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig; ln -s python-2.7.pc python2.pc)
rm -f /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig/python.pc
(cd /Users/victor/.pyenv/versions/2.7.7/lib/pkgconfig; ln -s python2.pc python.pc)
rm -f /Users/victor/.pyenv/versions/2.7.7/share/man/man1/python2.1
(cd /Users/victor/.pyenv/versions/2.7.7/share/man/man1; ln -s python2.7.1 python2.1)
rm -f /Users/victor/.pyenv/versions/2.7.7/share/man/man1/python.1
(cd /Users/victor/.pyenv/versions/2.7.7/share/man/man1; ln -s python2.1 python.1)
Victors-MacBook-Air:~ victor$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Victors-MacBook-Air:~ victor$ 
Victors-MacBook-Air:~ victor$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Victors-MacBook-Air:~ victor$ 
Victors-MacBook-Air:~ victor$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
Victors-MacBook-Air:~ victor$ 
Victors-MacBook-Air:~ victor$ software update
-bash: software: command not found

解决步骤

1. 确保环境变量生效

修改~/.bashrc后,必须重新加载配置,否则新设置的变量不会生效:

source ~/.bashrc

或者直接重启终端。

2. 添加SDKROOT环境变量

Monterey系统下编译老版本Python需要指定系统SDK路径,在~/.bashrc中追加:

export SDKROOT=$(xcrun --show-sdk-path)

保存后执行source ~/.bashrc加载配置。

3. 清理旧编译缓存

删除之前失败的编译临时文件和已下载的Python源码,避免残留问题:

# 删除指定临时编译目录(替换为你报错里的路径)
rm -rf /var/folders/__/1_b0871s7fl7fpwydg4ycjj80000gn/T/python-build.20220729111901.75727
# 删除pyenv缓存的Python安装包
rm -rf ~/.pyenv/cache/python-2.7.7.tar.xz
# 强制卸载已部分安装的版本
pyenv uninstall --force 2.7.7

4. 重新执行安装

加载配置后,直接执行安装命令:

pyenv install 2.7.7

如果仍报错,尝试一次性传入所有必要环境变量:

SDKROOT=$(xcrun --show-sdk-path) LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/bzip2/lib" CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/bzip2/include" pyenv install -v 2.7.7

5. 重置Xcode命令行工具路径

虽然已安装命令行工具,但重置路径可解决潜在的路径冲突:

sudo xcode-select --reset

执行后检查路径是否正确:

xcode-select --print-path

正常输出应为/Library/Developer/CommandLineTools。


内容的提问来源于stack exchange,提问作者Victor Cardozo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:57:19