urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is compi

关于linux版本的openssl的版本过低, URllib使用的时候报错

  1. 安装依赖

  2. 下面是安装前所需的依赖
yum install -y zlib zlib-dev openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
  1. 下载tar包

 # 官网     https://www.openssl.org/source/
 # 历史版本  https://www.openssl.org/source/old/
 # 下载
 wget  https://www.openssl.org/source/old/1.1.1/openssl-1.1.1h.tar.gz
 tar -zxvf openssl-1.1.1h.tar.gz  -C  /export/server/
cd /export/server/openssl-1.1.1h

# 目录如下
  1. 在这里插入图片描述

./configure --prefix=/usr/local/openssl-1.1.1h
# 编译并安装
make && make install
  1. 更改软连接

mv /usr/bin/openssl /usr/bin/openssl.back
# 建立新的软连接
ln -s   /usr/local/openssl-1.1.1h/bin/openssl  /usr/bin/openssl
#
echo "/usr/local/openssl-1.1.1h/lib" >> /etc/ld.so.conf
# 
ldconfig -v
# 查看版本
openssl version

在这里插入图片描述

ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库(格式如 lib*.so*),进而创建出动态链接器(ld.so 或 ld-linux.so)所需的缓存文件。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。为了让动态链接库为系统所共享,需运行动态链接库的管理命令 ldconfig 更新动态链接库的缓存文件。

    1-v或--verbose:用此选项时,ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字.

    2-n :用此选项时,ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib,/usr/lib),也不扫描配置文件/etc/ld.so.conf所列的目录.

    3-N :此选项指示ldconfig不重建缓存文件(/etc/ld.so.cache).若未用-X选项,ldconfig照常更新文件的连接.

    4-X : 此选项指示ldconfig不更新文件的连接.若未用-N选项,则缓存文件正常更新.

    5-f CONF : 此选项指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf.

    6-C CACHE :此选项指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表.

    7-r ROOT :此选项改变应用程序的根目录为ROOT(是调用chroot函数实现的).选择此项时,系统默认的配置文件/etc/ld.so.conf,实际对应的为ROOT/etc/ld.so.conf.如用-r/usr/zzz时,打开配置文件/etc/ld.so.conf时,实际打开的是/usr/zzz/etc/ld.so.conf文件.用此选项,可以大大增加动态链接库管理的灵活性.

    8-l :通常情况下,ldconfig搜索动态链接库时将自动建立动态链接库的连接.选择此项时,将进入专家模式,需要手工设置连接.一般用户不用此项.

    9-p或--print-cache :此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字.

    10-c FORMAT--format=FORMAT :此选项用于指定缓存文件所使用的格式,共有三种:ld(老格式),new(新格式)和compat(兼容格式,此为默认格式).

    11-V : 此选项打印出ldconfig的版本信息,而后退出.

    12---help 或--usage : 这三个选项作用相同,都是让ldconfig打印出其帮助信息,而后退出.
  1. 新版本的openssl成功安装后, 我删除了安装后的python包和解压的python包,因为我安装的时候遇到问题,编译是正常的,但是安装就是失败

#  删除安装的python
rm  -rf /usr/local/python3
#  删除解压的python
rm -rf /export/server/Python-3.8.18
#
 tar -zxvf Python-3.8.18.tgz  -C /export/server/
  1. 编译之前可以先清除缓存

# 
cd  /export/server/Python-3.8.18
# 可以清除之前的一些安装缓存
make clean
  1. 在这里插入图片描述

  2. 编译过才有clean操作,否则提示找不到

  3. 在这里插入图片描述

  4. 开始编译安装

  5. ./configure --help

  6. 有我们编译需要的参数

  --with(out)-ensurepip=[=upgrade]
                          "install" or "upgrade" using bundled pip
  --with-openssl=DIR      root of the OpenSSL directory
  --with-ssl-default-suites=[python|openssl|STRING]
                          Override default cipher suites string, python: use
                          Python's preferred selection (default), openssl:
                          leave OpenSSL's defaults untouched, STRING: use a
                          custom string, PROTOCOL_SSLv2 ignores the setting
#  编译
./configure --prefix=/usr/local/python3 --enable-shared --with-openssl=/usr/local/openssl-1.1.1h/ --with-openssl=auto
# 
make && make install 
  1. 编译没有异常就是编译OK, 我的是再次编译,最后提示添加重新编译参数因为我 20. ### 编译成功如下
  2. 在这里插入图片描述
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值