Centos7编译Python3.11源码并安装完成的详细教程

Python3.11的Linux源码:

Index of /ftp/python/icon-default.png?t=N7T8https://www.python.org/ftp/python/由于Centos7里自带的openssl是1.0版本的,而Centos Stream8和9用的是openssl-1.1.1版本的。

注意:openssl必须是openssl-1.1.1版本的,虽然最高版本已经到了3.x,但是必须用openssl-1.1.1版本的,否则会出现如下错误:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

1、安装openssl1.1.1,替换掉旧的openssl

下载网址:

[ Downloads ] - /source/index.htmlicon-default.png?t=N7T8https://www.openssl.org/source/

tar -zxvf openssl-1.1.1w.tar.gz

二、编译安装

 在以后所有操作之前必须执行以下操作,不然会失败,需要安装好编译环境:

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
cd openssl-1.1.1w

指定安装路径并编译

编译前需要:

yum install perl-IPC-Cmd -y
yum install -y gcc

 然后编译: 

./config --prefix=/usr/local/openssl 
make && make install

三、替换当前系统的旧版本 openssl 「先保存原来的」

mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/lib64/libssl.so /usr/lib64/libssl.so.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v 

四、最后查看当前系统 openssl 版本

openssl version

五、编译Python3.11

cd Python-3.11.7
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

六、重启后验证

 完成!!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【大厂秘籍】 - Java多线程面试题

Java多线程面试题 友情提示,看完此文,在Java多线程这块,基本上可以吊打面试官了 线程和进程的区别 进程是资源分配的最小单位,线程是CPU调度的最小单位 线程是进程的子集,一个进程可以有很多线程,每条线…

10.9.2 std::function 存储函数对象 Page184

41行,pending只是inc的复制品,所以43,44行,不会改变inc()的值 demo_function2()的运行结果: 59行,pending是inc的引用,所以61,62行将会改变inc()的值

CloudFlare平台下载的WARP一直连不上(warp无法连接)解决办法

遇到问题: 解决办法: 下载一个warp选ip的文件夹,选一下ip就行了。 下载链接如下: https://pan.kejicode.cn/d/Onedrive/WIN%E7%AB%AFwarp%E8%87%AA%E9%80%89IP(%E6%89%8B%E5%8A%A8%2B%E8%87%AA%E5%8A%A8).rar?signRqBdHIMyyhg…

查询和结果处理的Java代码

match_all查询: //查询所有文档 match_all查询Testvoid testMatchAll() throws IOException {// 1.准备RequestSearchRequest request new SearchRequest("hotel");// 2.准备DSLrequest.source().query(QueryBuilders.matchAllQuery());// 3.发送请求Sea…

Apollo之原理和使用讲解

文章目录 1 Apollo1.1 简介1.1.1 背景1.1.2 简介1.1.3 特点 1.2 基础模型1.3 Apollo 四个维度1.3.1 application1.3.2 environment1.3.3 cluster1.3.4 namespace 1.4 本地缓存1.5 客户端设计1.5.1 客服端拉取原理1.5.2 配置更新推送实现 1.6 总体设计1.7 可用性考虑 2 操作使用…

海外媒体宣发:新闻媒体发稿引爆社交媒体的7个诀窍-华媒舍

社交媒体的崛起已经改变了新闻媒体的传播方式。从Facebook到Twitter,从Instagram到LinkedIn,社交媒体平台为新闻媒体提供了一个巨大且潜力无限的受众群体。要在这个竞争激烈的环境中引爆社交媒体,需要一些技巧和诀窍。在本篇文章中&#xff0…

【CSS】保持元素宽高比

保持元素的宽高比,在视频或图片展示类页面是一个重要功能。 本文介绍其常规的实现方法。 实现效果 当浏览器视口发生变化时,元素的尺寸随之变化,且宽高比不变。 代码实现 我们用最简单的元素结构来演示,实现宽高比为4&#xf…

WorkPlus卓越的即时通讯工具,助力企业提升工作效率

在当今快节奏的商业环境中,高效沟通和协作是企业成功的关键。而即时通讯作为实现高效沟通的利器,成为了现代企业不可或缺的一部分。作为一款领先的即时通讯工具,WorkPlus以其卓越的性能和独特的功能,助力企业打造高效沟通和协作的…

初始化数组

一、静态初始化格式: 数据类型[ ] 数组名 new 数据类型[ ]{元素1,元素2,元素3......} 等号后面的new 数据类型可以省略 注意:什么类型的数组只能存放什么类型的数据 直接打印a或b会显示其地址 数组的元素个数:arr…

Android Studio 如何设置中文

Android Studio 是一个为 Adndroid 平台开发程序的集成开发环境(IDE)。 如何安装中文插件 在 Jetbrains 家族的插件市场上,是能够搜到语言包插件的,正常情况下安装之后只需要重启即可享受中文界面,可AndroidStudio 中…

SOLID 原则

单一功能原则 单一功能原则(Single responsibility principle)规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行&#x…

ospf-gre隧道小练习

全网可达,R5路由表没有其他路由器的路由条目 注:每个路由器都添加了自己的环回,如R1就是1.1.1.1 R1可以分别ping通与R2,R3,R4之间的隧道 R1路由表上有所有路由器环回的路由条目 R5路由表上没有其他路由器的路由条目 实现代码: 首先将各个接口IP配好 边上3个路由器:[R6][R7][R…

Linux-命名管道

文章目录 前言一、命名管道接口函数介绍二、使用步骤 前言 上章内容,我们介绍与使用了管道。上章内容所讲的,是通过pipe接口函数让操作系统给我们申请匿名管道进行进程间通信。 并且这种进程间通信一般只适用于父子进程之间,那么对于两个没有…

mysql原理--redo日志1

1.redo日志是个啥 我们知道 InnoDB 存储引擎是以页为单位来管理存储空间的,我们进行的增删改查操作其实本质上都是在访问页面(包括读页面、写页面、创建新页面等操作)。我们前边唠叨 Buffer Pool 的时候说过,在真正访问页面之前&a…

RH850P1X芯片学习笔记-Flash Memory

文章目录 FeaturesClock Supply Block DiagramFlash SizeMemory ConfigurationRegistersRegister Base AddressList of RegistersRegister Reset Condition 与Flash Memory相关的操作模式Functional OverviewOption BytesOPBT0 — Option Byte 0OPBT1 — Option Byte 1OPBT2 —…

WEB 3D技术 three.js 点光源

本文的话 我们来设置一下点光源 点光源其实最直观的就是可以做萤火虫 也可以做星光 点点的效果 我们可以直接在官网中搜索 Pointlight 大家可以在官网这里看一下 其实 SpotLight 聚关灯中的属性 Pointlight 点光源也有的 我们先编写代码如下 import ./style.css import * a…

盘点一个AI解答疑难代码的问题

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 湖水无端浸白云,故人书断孤鸿没。 大家好,我是皮皮。 一、前言 前几天在Python白银交流群【上海新年人】问了一个Pandas代码解读…

Linux前后端项目部署

目录 1.jdk&tomcat安装 配置并且测试jdk安装 修改tomcat 配置文件 登入tomcat 发布 安装mysql 导入sql数据 发布项目war包 redis安装 nginx安装 配置nginx域名映射 部署前端项目 centos 7的服务安装 安装jdk 安装tomcat 安装Mysql 安装redis 安装nginx 前后…

linux安装minio

目录 1、服务器创建minio文件 2、进入minio下的bin下 3、授予服务端和客户端文件可执行权限 4、设置用户名和密码 5、启动minio服务 6、查看minio版本 ​7、访问minio控制台 1、服务器创建minio文件 # 创建minio应用程序目录 mkdir -p /opt/minio/bin # 创建minio数据目…

虹软人脸识别白屏

1.修改jdk为1.8 2.编译版本ndk修改 ndk {abiFilters armeabi-v7a, arm64-v8a} 3.local.properties增加ndk路径 ndk.dirH\:\\Android\\SDK\\ndk\\21.1.6352462 4.最重要的一步:检查依赖库是否存在前一定要先检查有么有读取本地文件权限,下面的代码即使是放到点击事件的回调…