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

在RHEL机器上编译Python 3.11.1源码时无法初始化sys模块

问题描述

在RHEL机器上编译Python 3.11.1源码时执行make命令报错,操作流程如下:

wget https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tgz
tar -xvf Python-3.11.1.tgz
cd Python-3.11.1
./configure --enable-shared --prefix=$INSTALL_DIR --enable-optimizations
make

执行make时触发的错误信息:

./Programs/_freeze_module importlib._bootstrap ./Lib/importlib/_bootstrap.py Python/frozen_modules/importlib._bootstrap.h
Fatal Python error: _PySys_InitCore: can't initialize sys module
Python runtime state: preinitialized

Current thread 0x00007f163a9d4740 (most recent call first):
  <no Python frame>
make[1]: *** [Python/frozen_modules/importlib._bootstrap.h] Error 1
问题原因与解决办法

可能原因及对应修复方案:

  • 系统依赖缺失
    Python 3.11编译依赖多个基础系统库,RHEL默认环境可能未完整安装,缺失的库会导致sys模块初始化失败。
    修复:以root身份安装编译依赖:
yum install -y gcc gcc-c++ make zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

之后清理之前的编译残留,重新配置编译:

make clean
./configure --enable-shared --prefix=$INSTALL_DIR --enable-optimizations
make
  • 动态库路径未正确设置
    使用--enable-shared参数编译时,临时生成的二进制文件可能无法找到当前编译的Python动态库,导致初始化出错。
    修复:编译前设置环境变量指定动态库路径:
export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH

然后重新执行make即可。

  • 优化参数兼容性问题
    --enable-optimizations会启用PGO优化,部分RHEL版本的GCC编译器可能与该选项不兼容,引发编译流程错误。
    修复:移除优化参数后重新编译:
make clean
./configure --enable-shared --prefix=$INSTALL_DIR
make

内容的提问来源于stack exchange,提问作者Bryan Tan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:07:25