macOS 11.6 Intel环境下pyenv安装Python报missing separator错误
pyenv安装Python 3.10.0 Makefile报错解决方案
问题根因
Makefile:222: *** missing separator. Stop报错本质是旧版本python-build(pyenv内置组件)生成Python 3.10版本Makefile时的兼容性缺陷,Intel架构macOS 11.x环境下该问题触发概率较高。
排查步骤
- 确认pyenv版本:执行
pyenv --version,若版本号低于2.2.0,可确定为版本过旧导致的适配问题 - 排查make环境变量冲突:执行
echo $MAKEFLAGS,检查输出是否存在非标准参数,包括自定义分隔符、补丁规则相关配置 - 排查sed工具兼容性:执行
which sed,确认输出为/usr/bin/sed,而非Homebrew安装的gnu-sed,两者语法差异会导致Makefile生成异常
解决方法
方案1:升级pyenv到最新版本(优先选择)
若通过Homebrew安装pyenv,执行以下命令:
brew update brew upgrade pyenv
升级完成后重启终端,重新执行安装命令即可:
pyenv install 3.10.0
方案2:临时指定系统sed执行安装(适用于无法升级pyenv的场景)
安装前临时指定使用系统原生sed,规避gnu-sed兼容性问题:
PATH="/usr/bin:$PATH" pyenv install 3.10.0
方案3:清理无效环境变量后重试
若排查到MAKEFLAGS存在自定义配置,先清空变量再重试安装:
unset MAKEFLAGS pyenv install 3.10.0
内容的提问来源于stack exchange,提问作者kbreit
相关产品推荐
相关产品推荐

