CentOS7 安装python3 OpenSSL报错

yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

1、安装Openssl,版本太高或太低可能都有问题
https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz
tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w/
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
make install
cd /usr/bin
mv openssl openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
cd /root
cat .bashrc 查看上述export命令是否存在,若不存在,添加上 
source .bashrc 
ldconfig
openssl version
 
2、安装python3
tar -zxvf Python-3.12.2.tgz 
cd Python-3.12.2.tgz 
./configure --prefix=/usr/local/python3.12 --with-openssl=/usr/local/openssl
make
make install

ln -s /usr/local/python3/bin/python3.12 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.12 /usr/bin/pip3
ln -s /usr/local/python3/bin/python3.12-config /usr/bin/python3-config
python3 -V

由于Python3从源码编译安装,编译时链接了 OpenSSL 1.1.1w,但在部分使用场景中可能会出现找不到 libssl.so.1.1 动态库。千问给的解决方案如下,情况A实测可以修复。
我本地安装路径的修复命令:
echo '/usr/local/openssl/lib' | sudo tee /etc/ld.so.conf.d/openssl-1.1.conf

 

解决方案
步骤 1:确认 libssl.so.1.1 是否存在
运行以下命令查找:
find /usr -name "libssl.so*"
# 或更广范围
find / -name "libssl.so.1.1" 2>/dev/null

常见位置:
/usr/lib64/libssl.so.1.1 (系统 OpenSSL)
/usr/local/lib/libssl.so.1.1 (源码安装默认位置)
/usr/local/ssl/lib/libssl.so.1.1 (如果你指定过 --prefix=/usr/local/ssl)

步骤 2:根据安装方式修复
情况 A:你是用 源码编译安装 OpenSSL 1.1.1w
假设你安装到了默认路径 /usr/local/ssl 或 /usr/local:
# 查看是否在 /usr/local/lib
ls -l /usr/local/lib/libssl.so*

# 如果存在,添加库路径到系统
echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/openssl-1.1.conf

# 更新动态链接缓存
sudo ldconfig

# 验证是否能找到
ldconfig -p | grep ssl
正常显示是:libssl.so.1.1 (libc6,x86-64) => /usr/local/lib/libssl.so.1.1

你是用 yum 安装的 OpenSSL 1.1

情况 B:你是用 yum 安装的 OpenSSL 1.1
CentOS 7 默认只有 OpenSSL 1.0.2,要使用 1.1 需启用额外仓库:
# 启用 EPEL 和 IUS 或直接安装
sudo yum install -y openssl11 openssl11-devel

# 库文件通常在:
# /usr/lib64/libssl.so.1.1
# /usr/lib64/libcrypto.so.1.1

# 然后运行
sudo ldconfig

 

3、测试
python3
import ssl

参考文章
https://blog.csdn.net/qq_43370607/article/details/137382955
https://blog.csdn.net/qq_39715000/article/details/125009276
https://blog.csdn.net/Amio_/article/details/126716818
https://blog.csdn.net/weixin_43807520/article/details/128662769

posted @ 2025-09-15 15:45  wAn9  阅读(20)  评论(0)    收藏  举报