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

Ubuntu系统下使用pyenv安装Python 3.7.0编译构建失败求助

解决Ubuntu 22.04中pyenv安装Python 3.7.0编译失败(Segmentation fault)的问题

问题描述

在Ubuntu 22.04系统中执行pyenv install 3.7.0安装Python 3.7.0时,出现编译构建失败,最终报错信息如下:

root@Hp:/home/shiva# pyenv install 3.7.0
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...

BUILD FAILED (Ubuntu 22.04 using python-build 20180424)

Inspect or clean up the working tree at /tmp/python-build.20230210140013.813
Results logged to /tmp/python-build.20230210140013.813.log

Last 10 log lines:
if test "xupgrade" != "xno"  ; then \
        case upgrade in \
                upgrade) ensurepip="--upgrade" ;; \
                install|*) ensurepip="" ;; \
        esac; \
        LD_LIBRARY_PATH=/tmp/python-build.20230210140013.813/Python-3.7.0 ./python -E -m ensurepip \
                $ensurepip --root=/ ; \
fi
Segmentation fault
make: *** [Makefile:1122: install] Error 139

解决方案

1. 安装Python编译依赖

Ubuntu 22.04编译旧版本Python需要完整的构建依赖,执行以下命令安装:

sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

2. 添加编译选项适配新版本系统

Python 3.7.0与Ubuntu 22.04的高版本glibc存在兼容性问题,编译时需添加CFLAGS参数忽略编译器的非致命错误:

CFLAGS="-Wno-error=implicit-function-declaration" pyenv install 3.7.0

如果上述命令仍失败,尝试更完整的编译选项:

CFLAGS="-Wno-error=implicit-function-declaration -Wno-error=declaration-after-statement" LDFLAGS="-lrt" pyenv install 3.7.0

3. 更新pyenv到最新版本

你当前使用的python-build版本为20180424,版本过旧可能存在系统适配问题,更新pyenv:

pyenv update

若pyenv通过Git安装,也可以直接拉取最新代码:

cd $(pyenv root)
git pull

原因说明

Ubuntu 22.04使用的glibc版本(2.35)较高,而Python 3.7.0是较旧版本,编译时部分函数声明的处理逻辑在新编译器下会触发错误,添加-Wno-error相关选项可跳过这些非致命错误;同时更新pyenv能确保构建脚本适配新版本系统环境。

内容的提问来源于stack exchange,提问作者Shiva dharavath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:25:55