CentOS7 安装Python3.9以上版本时。编译报错,原因是openssl版本低
openssl-1.1.1
安装
1.前因 python 导入clickhouse_driver需要import ssl和_ssl,报错
File"/home/oracle/python3/lib/python3.7/site-packages/clickhouse_driver-0.1.2-py3.7-linux-x86_64.egg/clickhouse_driver/__init__.py", line 2, in <module> from .client import Client
File "/home/oracle/python3/lib/python3.7/site-packages/clickhouse_driver-0.1.2-py3.7-linux-x86_64.egg/clickhouse_driver/client.py", line 1, in <module> import ssl
File "/home/oracle/python3/lib/python3.7/ssl.py", line 98, in <module> import _ssl
# if we can't import it, let the error propagate
ImportError: libssl.so.1.1: cannot open shared object file: No such file or director
查看openssl安装情况
[root@localhost ~]# rpm -aq|grep openssl
openssl-1.0.1e-58.el6_10.x86_64
openssl-devel-1.0.1e-58.el6_10.x86_64
版本是1.0.1e,不符合需求
2.下载openssl
从openssl官方下载最新的代码包,因为源站下载速度过慢,所以我使⽤了腾讯云的镜像
#从官网下载
下载前先
yum remove openssl
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
#腾讯云提供的镜像
wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1g.tar.gz
3. 编译openssl
tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared --openssldir=/opt/openssl --prefix=/opt/openssl
make && make install
4.配置
echo "/opt/openssl/lib/" >> /etc/ld.so.conf
ln -sf /opt/openssl/bin/openssl /usr/bin/openssl #需要默认在/usr/bin/下创建openssl的软连接
ldconfig -v
openssl version
5.测试
[oracle@localhost ~]$ python3
Python 3.7.2rc1 (default, Nov 1 2019, 08:59:21)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
Type "help","copyright", "credits" or "license" for more information.
>>> import ssl
>>>
成功!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)