【Linux】安装Python3.11报错

文章描述了在CentOS系统中使用make命令安装Python3.11.8时遇到的错误,涉及site模块导入失败和编译时的SystemError。提供了检查和解决这些问题的步骤,包括安装必要的开发工具、清理构建、调整配置和验证安装。
摘要由CSDN通过智能技术生成

文章目录

问题

centos系统使用make命令安装python 3.11.8时,报错了:

Python runtime state: initialized
Traceback (most recent call last):
  File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
  File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
    import os
  File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
    from _collections_abc import _check_methods
SystemError: <built-in function compile> returned NULL without setting an exception
Fatal Python error: make[1]: *** [Python/frozen_modules/codecs.h] Error 1
make[1]: *** Waiting for unfinished jobs....
    import os
  File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
    from _collections_abc import _check_methods
init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
  File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
SystemError: <built-in function compile> returned NULL without setting an exception
    import os
  File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
    from _collections_abc import _check_methods
make[1]: *** [Python/frozen_modules/io.h] Error 1
SystemError: <built-in function compile> returned NULL without setting an exception
make[1]: *** [Python/frozen_modules/abc.h] Error 1
make[1]: Leaving directory `/usr/local/Python-3.11.8'
make: *** [profile-opt] Error 2

解决

在 CentOS 系统上使用 make 命令安装 Python 3.11.8 时遇到错误,这通常是由于编译环境问题、依赖项缺失或不兼容的软件包引起的。为了解决这个问题,请按照以下步骤进行操作:

  1. 确保开发工具包已安装
    编译 Python 需要一系列的开发工具和库。您可以使用以下命令安装它们:

    sudo yum -y groupinstall "Development Tools"
    sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc-c++
    
  2. 清理之前的构建尝试
    在尝试再次编译之前,清理之前的构建尝试可以避免遗留问题:

    make clean
    
  3. 检查 Python 源代码目录
    确保您在 Python 源代码的根目录下执行 make 命令。

  4. 指定配置选项
    在执行 make 命令之前,您可能需要使用 configure 脚本来指定安装路径和其他选项。例如:

    ./configure --prefix=/usr/local/python311
    
  5. 重新编译
    使用 make 命令重新编译 Python:

    make
    
  6. 安装
    如果编译成功,使用以下命令安装 Python:

    sudo make install
    
  7. 创建软链接

    rm -f /usr/bin/python3.11 && ln -s /usr/local/python311/bin/python3 /usr/bin/python3.11
    
  8. 验证安装
    安装完成后,验证 Python 是否正确安装:

    python3.11 --version
    

如果在尝试上述步骤后仍然遇到问题,请检查错误日志中提到的具体文件和行号,以获取更多线索。此外,您还可以尝试在 Python 的官方 issue 跟踪器或相关社区论坛上搜索错误信息,看看是否有其他用户遇到了类似的问题,并寻求帮助。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值