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

CentOS7下Python3.10.11导入ssl报错:No module named '_ssl'求助

解决CentOS7下Python3.10.11无法import ssl的问题

核心原因

Python3.10要求依赖OpenSSL 1.1.1及以上版本,但CentOS7默认自带的OpenSSL 1.0.2k版本不满足要求,导致编译Python时未生成_ssl模块。


步骤1:升级OpenSSL到1.1.1长期支持版

1.1 安装编译依赖

yum install -y gcc make zlib-devel

1.2 编译安装新版OpenSSL

# 进入源码目录
cd /usr/local/src
# 下载OpenSSL 1.1.1w(长期维护版)
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar -zxf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w

# 配置编译参数,指定安装路径并启用动态库
./config --prefix=/usr/local/openssl shared zlib
# 编译并安装
make && make install

1.3 配置系统优先使用新版OpenSSL

# 添加动态库路径
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/openssl.conf
ldconfig

# 替换系统默认openssl命令
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

1.4 验证版本

openssl version
# 输出应为:OpenSSL 1.1.1w  11 Sep 2023

步骤2:重新编译Python3.10.11

2.1 安装Python编译依赖

yum install -y bzip2-devel expat-devel gdbm-devel ncurses-devel sqlite-devel tk-devel xz-devel readline-devel

2.2 重新编译Python(指定新版OpenSSL路径)

cd /usr/local/src/Python-3.10.11  # 若已下载源码直接进入,未下载则先下载解压
# 清理之前的编译残留
make clean
# 配置编译参数,绑定新版OpenSSL
./configure --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
# 编译安装
make && make install

2.3 验证ssl模块

/usr/local/python3.10/bin/python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
# 输出应显示OpenSSL 1.1.1w版本

步骤3:替换系统默认Python3(可选)

如果需要让系统全局的python3指向新版:

mv /usr/bin/python3 /usr/bin/python3.old
ln -s /usr/local/python3.10/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.10/bin/pip3 /usr/bin/pip3

注意:不要修改系统默认的python命令(对应Python2),否则会导致yum等系统工具失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:15:06