CentOS7.9安装Python3.10详细步骤及常见错误解决方案

作者:

文章目录
  • 1.更新系统与开发工具 sudo yum update -y sudo yum groupinstall “Development Tools” -y sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel 作用:安装编译 Python 所需的依赖库。若缺少依赖可能导致 _ctypes、_ssl 等模块编译失败 2.检查 OpenSSL 版本 openssl version 若版本低于 1.1.1,需手动升级(Python 3.10 要求 OpenSSL ≥1.1.1): wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz tar -zxvf openssl-1.1.1k.tar.gz && cd openssl-1.1.1k ./config –prefix=/usr/local/openssl shared zlib make && sudo make install # 配置系统使用新版本 echo “/usr/local/openssl/lib” >> /etc/ld.so.conf ldconfig -v ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl 注意:升级后需验证 openssl version 是否显示新版本。
  • 下载源码并解压 wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz tar -zxvf Python-3.10.12.tgz && cd Python-3.10.12 配置编译参数 ./configure –prefix=/usr/local/python3.10 –enable-optimizations –with-openssl=/usr/local/openssl –with-ssl-default-suites=openssl 关键参数说明: –with-openssl:指定自定义 OpenSSL 路径(避免 SSL module 缺失)。 –enable-optimizations:优化编译性能,若编译失败可去掉此参数。 编译与安装 make -j $(nproc) && sudo make altinstall 使用 altinstall 而非 install:避免覆盖系统默认 Python 2.7。 验证安装 /usr/local/python3.10/bin/python3.10 –version # 应输出 Python 3.10.x /usr/local/python3.10/bin/python3.10 -c “import ssl; print(ssl.OPENSSL_VERSION)” # 验证 SSL 模块
  • 设置全局软链接 sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3 sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3 配置环境变量 echo ‘export PATH=$PATH:/usr/local/python3.10/bin’ >> /etc/profile source /etc/profile 修复 yum 工具冲突 修改 /usr/bin/yum 和 /usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python 改为 #!/usr/bin/python2,以解决因 Python 3 导致 yum 失效的问题。
  • zipimport.ZipImportError: can't decompress data; zlib not available 原因:缺少 zlib-devel 库。 解决: sudo yum install -y zlib-devel # 重新编译 Python ModuleNotFoundError: No module named '_ctypes' 原因:未安装 libffi-devel。 解决: sudo yum install -y libffi-devel # 重新编译 Python SSL module is not available 或 pip 证书验证失败 原因:Python 未正确链接 OpenSSL。 解决: 确认编译时指定 –with-openssl 路径。 若仍报错,手动修改 Modules/Setup 文件,添加以下内容后重新编译: SSL=/usr/local/openssl _ssl _ssl.c -DUSE_SSL -I$(SSL)/include -L$(SSL)/lib -lssl -lcrypto 动态库缺失(如 libssl.so.1.1) 解决: ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 ldconfig -v make altinstall 后无 pip3 原因:altinstall 不会自动创建 pip 软链接。 解决:手动创建软链接或通过 python3 -m ensurepip 安装。
  • 配置国内 pip 源 mkdir -p ~/.pip && cat > ~/.pip/pip.conf << EOF [global] index-url = https://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com EOF 更新 pip 与 setuptools pip3 install –upgrade pip setuptools 总结:CentOS 7.9 安装 Python 3.10 的核心在于 OpenSSL 升级和依赖完整性检查。若遇到编译错误,优先检查依赖库是否齐全,并通过环境变量和编译参数确保 Python 正确链接所需组件。 到此这篇关于CentOS 7.9 安装 Python 3.10 详细步骤及常见问题解决的文章就介绍到这了,更多相关CentOS 7.9 安装 Python 3.10 内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5) CentOS7中使用shell脚本安装python3.8环境(推荐) CentOS7下安装python3.6.8的教程详解 Centos7 下安装最新的python3.8 Centos7 下安装python3及卸载的教程 CentOS7安装Python3的教程详解 CentOS7下python3.7.0安装教程 Centos7环境安装Python3的方法 在centos7下安装python3的步骤
  • 目录
    • 一、环境准备与依赖安装
    • 二、编译安装 Python 3.10
    • 三、环境配置
    • 四、常见错误及解决方法
    • 五、优化配置

    1.更新系统与开发工具

    sudo yum update -y
    sudo yum groupinstall "Development Tools" -y
    sudo yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
    readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

    作用:安装编译 Python 所需的依赖库。若缺少依赖可能导致 _ctypes_ssl 等模块编译失败

    2.检查 OpenSSL 版本

    openssl version

    若版本低于 1.1.1,需手动升级(Python 3.10 要求 OpenSSL ≥1.1.1):

    wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
    tar -zxvf openssl-1.1.1k.tar.gz && cd openssl-1.1.1k
    ./config --prefix=/usr/local/openssl shared zlib
    make && sudo make install
    # 配置系统使用新版本
    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
    ldconfig -v
    ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

    注意:升级后需验证 openssl version 是否显示新版本。

    下载源码并解压

    wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tgz
    tar -zxvf Python-3.10.12.tgz && cd Python-3.10.12

    配置编译参数

    ./configure --prefix=/usr/local/python3.10 
    --enable-optimizations 
    --with-openssl=/usr/local/openssl 
    --with-ssl-default-suites=openssl

    关键参数说明

    • --with-openssl:指定自定义 OpenSSL 路径(避免 SSL module 缺失)。

    • --enable-optimizations:优化编译性能,若编译失败可去掉此参数。

    编译与安装

    make -j $(nproc) && sudo make altinstall

    使用 altinstall 而非 install:避免覆盖系统默认 Python 2.7。

    验证安装

    /usr/local/python3.10/bin/python3.10 --version  # 应输出 Python 3.10.x
    /usr/local/python3.10/bin/python3.10 -c "import ssl; print(ssl.OPENSSL_VERSION)"  # 验证 SSL 模块

    设置全局软链接

    sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3
    sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3

    配置环境变量

    echo 'export PATH=$PATH:/usr/local/python3.10/bin' >> /etc/profile
    source /etc/profile

    修复 yum 工具冲突 修改 /usr/bin/yum/usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python 改为 #!/usr/bin/python2,以解决因 Python 3 导致 yum 失效的问题。

    zipimport.ZipImportError: can't decompress data; zlib not available 原因:缺少 zlib-devel 库。 解决:

    sudo yum install -y zlib-devel
    # 重新编译 Python

    ModuleNotFoundError: No module named '_ctypes' 原因:未安装 libffi-devel。 解决:

    sudo yum install -y libffi-devel
    # 重新编译 Python

    SSL module is not availablepip 证书验证失败 原因:Python 未正确链接 OpenSSL。 解决:

    确认编译时指定 --with-openssl 路径。

    • 若仍报错,手动修改 Modules/Setup 文件,添加以下内容后重新编译:
    SSL=/usr/local/openssl
    _ssl _ssl.c -DUSE_SSL -I$(SSL)/include -L$(SSL)/lib -lssl -lcrypto

    动态库缺失(如 libssl.so.1.1) 解决:

    ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
    ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
    ldconfig -v

    make altinstall 后无 pip3 原因:altinstall 不会自动创建 pip 软链接。 解决:手动创建软链接或通过 python3 -m ensurepip 安装。

    配置国内 pip 源

    mkdir -p ~/.pip && cat > ~/.pip/pip.conf << EOF
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/
    trusted-host = mirrors.aliyun.com
    EOF

    更新 pip 与 setuptools

    pip3 install --upgrade pip setuptools

    总结:CentOS 7.9 安装 Python 3.10 的核心在于 OpenSSL 升级和依赖完整性检查。若遇到编译错误,优先检查依赖库是否齐全,并通过环境变量和编译参数确保 Python 正确链接所需组件。

    到此这篇关于CentOS 7.9 安装 Python 3.10 详细步骤及常见问题解决的文章就介绍到这了,更多相关CentOS 7.9 安装 Python 3.10 内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
    • CentOS7中使用shell脚本安装python3.8环境(推荐)
    • CentOS7下安装python3.6.8的教程详解
    • Centos7 下安装最新的python3.8
    • Centos7 下安装python3及卸载的教程
    • CentOS7安装Python3的教程详解
    • CentOS7下python3.7.0安装教程
    • Centos7环境安装Python3的方法
    • 在centos7下安装python3的步骤

    站内搜索