centos7.9升级openssl以解决pip安装过程中的问题

查看原来openssl的版本

openssl version -a
|
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic 
、

下载新的包

wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz

下载有点慢啊,酌情考虑使用国内源镜像吧。

安装

# 编译代码会用到的一些依赖
yum install -y zlib zlib-devel gcc
tar -xvf openssl-1.1.1s.tar.gzcd openssl-1.1.1s./config shared --prefix=/usr/local/sslmake && make install

增加配置并使其生效

echo "/usr/local/lib64/" >> /etc/ld.so.confldconfig -v

链接新版本

# 旧版本先备份一下
mv /usr/bin/openssl /usr/bin/openssl.bak
# 链接到安装位置的可执行文件
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

最后查看openssl版本验证。

openssl version
|
OpenSSL 1.1.1s  1 Nov 2022

因为ssl的1.0.2已经无法支持高版本的python,为了防止后面使用pip的时候出现问题,必须做一个升级。

现在重新编译安装python3.10
下载的步骤就省略了,这里要配置上刚刚ssl的安装路径,编译的时候才可以链接到ssl正确的包:

# 如果前面执行pip发现已经入坑,清理一下重新编译安装
make clean./configure --with-openssl=/usr/local/sslmake && make install

如愿以偿,不会再报ssl证书的问题了。

—END—

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完美版积分商城系统-奇偶商城系统源码+独立代理后台

奇偶商城系统源码 完美版独立代理后台 1.演示环境:Linux Centos7以上版本 宝塔 2.Nginx 1.18.0 PHP7.0 Mysql5.6 3.伪静态选择thinkphp 4./Application/Common/Conf 修改数据库信息 详细搭建教程附在压缩包内了,下载查看

Vue3.X 路由与导航栏、侧边栏(四)

我们接着上一节的 Vue3.x 生命周期(三) 的说明,我们这一节讲解了项目中路由的配置与导航栏、侧边栏的关系。 一、路由配置 vue项目中路由配置有一个固有文件夹,可以配置路由,这样的优点使项目更加清晰明了。 如图&a…

美创科技荣获“2023年网络安全优秀创新成果大赛—杭州分站赛”两项优胜奖

近日,由浙江省互联网信息办公室指导、中国网络安全产业联盟(CCIA)主办,浙江省网络空间安全协会承办的“2023年网络安全优秀创新成果大赛-杭州分站赛”正式公布评选结果。 经专家评审,美创科技报名参赛的解决方案—“医…

【Web开发指南】MyEclipse XML编辑器的高级功能简介

MyEclipse v2023.1.2离线版下载 1. 在MyEclipse中编辑XML 本文档介绍MyEclipse XML编辑器中的一些可用的函数,MyEclipse XML编辑器包括高级XML编辑,例如: 语法高亮显示标签和属性内容辅助实时验证(当您输入时)文档内容的源(Sou…

基于QT4的GPX文件编辑器开发

GPX文件是记录地理点的文件,本质是一种xml文件。GPX文件目前没有很好的编辑器,因此作者决定开发一款无需安装的绿色编辑器。 在QT4开发中,XML可以用DOM来实现,但其逻辑并不是很清晰。使用模型视图反而会更加可读。因此在开发中,使用model-view模式来实现数据读写。 1 需…

游戏找不到msvcr100.dll解决方法,常见的三种解决方法

在计算机领域,msvcr100.dll是一个非常重要的动态链接库文件。它是Microsoft Visual C 2010 Redistributable的一部分,用于支持Visual Studio 2010的开发环境。然而,在某些情况下,msvcr100.dll可能会出现问题,导致程序无…

正则表达式在网页处理中的应用四则

正则表达式在网页处理中的应用四则 正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或者提供了现成的代码库供调用。本文以ASP环境中常见的处理任务为例,介绍正则表达式的应用技巧。 一、检验密…

【Leetcode】104.二叉树的最大深度

一、题目 1、题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例1: 输入:root = [3,9,20,null,null,15,7] 输出:3示例2: 输入:root = [1,null,2] 输出:2提示: 树中节点的数量在 [0, 104…

关于航插接口

航插接口,又称为航空插头或航空插座,是一种用于在飞机和地面设备之间传输电力、信号和数据的电气连接系统。它是一种标准化的接口,用于连接不同类型和规格的航空电子设备,如雷达、通信系统、导航设备等。航插接口的设计和制造需要…

嵌入式设备应用开发(qt界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux界面开发有很多的方案可以选。比如说lvgl、minigui、ftk之类的。但是,这么多年来,一直屹立不倒的还是qt。相比较其他几种方案,qt支持多个平台,这里面就包括了linux平台。此…

前端面试:【HTML】语义化标签、表单、媒体元素

HTML(超文本标记语言)是构建网页内容的基础,它通过一系列标签来描述页面的结构和内容。在这篇文章中,我们将探讨HTML的基础知识,包括语义化标签、表单和媒体元素。 语义化标签:赋予内容更多意义 语义化标签…

Spring Boot 集成 WebSocket 实现服务端推送消息到客户端

WebSocket 简介 WebSocket 协议是基于 TCP 的一种新的网络协议,它实现了浏览器与服务器全双工(full-duplex)通信—允许服务器主动发送信息给客户端,这样就可以实现从客户端发送消息到服务器,而服务器又可以转发消息到客…

【Django】Task3 外键的使用、Queryset和Instance

【Django】Task3 外键的使用、Queryset和Instance Task3主要理解数据库外键的使用场景,了解Queryset的功能,通过编写代码体验Queryset中对数据库实例的curd操作,同时了解到Instance的定义。 1.外键的使用 1.1什么是外键 数据表外键是数据…

vue下拉框赋值

另一个页面调用方法赋值 负责下拉框回显 methods: {// 按钮方法jieyue(row) {this.openDialog true;this.$nextTick(() > {this.$refs.testDialog.init(row);});},页面进入请求下拉框数据 // 窗口初始化方法,nextTick方法可以添加逻辑,如打开窗口时查…

智能在线客服系统,客户问题接待更及时

优质的客户服务可以提高客户的满意度和忠诚度,从而为企业带来更多的商业机会。智能在线客服系统,是指通过人工智能技术和自然语言处理技术,将客户的问题自动化地分配给相应的客服人员,从而实现客户问题的快速解答。相比传统的客服…

树结构使用实例---实现数组和树结构的转换

文章目录 一、为什么要用树结构?二、使用步骤 1.引入相关json2.树结构的转换总结 一、为什么要用树结构? 本文将讲述一个实例,构造一棵树来实现数组和tree的转换,这在前端树结构中是经常遇到的 后端返回树结构方便管理&#xff…

统计学补充概念08-kmeans

概念 K均值(K-Means)是一种常用的聚类算法,用于将数据集分成预先指定数量的聚类。K均值的目标是将数据点分配到K个聚类中,使得每个数据点都属于距离其最近的聚类中心。 基本步骤 选择聚类数量K:首先需要选择要形成的…

10113: string (7) stringstream 换衣间

10113: string (7) stringstream 换衣间 时间限制: 1.000 Sec 内存限制: 128 MB 提交: 45 解决: 41 [命题人:][下载数据: 30] 提交状态报告 题目描述 把字符串类型的数字转换成整数*字符串的长度倍数。 输入 一行字符串的数字 输出 该数字的字符串长度的倍数 样…

装饰器模式来啦

装饰器模式是继承的替代模式,本质上也是通过对象抽象和对象组合的形式完成。装饰器模式也很少用在设计初始阶段,一般在重构或代码扩展阶段。当需要对现有的对象的行为进行增强时使用。 一、装饰器模式 装饰器模式和组合模式放在一起看是有一些相似的&a…