当前位置: 首页 > news >正文

在 CentOS 7 上编译安装 Python 3.11

安装必要的依赖

首先,你需要安装一些开发工具和库,以便编译 Python 和 OpenSSL:

yum -y groupinstall "Development tools"
yum install -y wget gcc-c++ pcre pcre-devel zlib zlib-devel libffi-devel zlib1g-dev openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel bzip2-devel
安装 OpenSSL

由于 CentOS 7 自带的 OpenSSL 版本较老,不满足 Python 3.10 或更高版本的要求,需要进行升级:

  1. 删除原有的 OpenSSL:

    yum remove openssl
  2. 更新信任的根证书:

    yum install ca-certificates
    update-ca-trust force-enable
    update-ca-trust extract
  3. 下载并安装最新的 OpenSSL:

    wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
    tar -zxf openssl-1.1.1w.tar.gz
    cd openssl-1.1.1w
    ./config --prefix=/usr/local/openssl
    make -j && make install
  4. 配置环境变量和链接:

    ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
    echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
    ldconfig -v
  5. 验证新版本的 OpenSSL:

    openssl version
安装 Python 3.11
  1. 下载 Python 3.11 的源码:

    wget https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz
    tar xvzf Python-3.11.7.tgz
    cd Python-3.11.7
  2. 如果需要,更新 gcc 版本以支持性能优化:

    yum install centos-release-scl -y
    yum install devtoolset-10-gcc* -y
    source /opt/rh/devtoolset-10/enable
  3. 配置并编译 Python:

    ./configure --prefix=/usr/local/python3.11 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto --enable-optimizations
    make -j && make altinstall
  4. 创建软链接以方便调用:

    ln -sf /usr/local/python3.11/bin/python3.11 /usr/bin/python3.11
    ln -sf /usr/local/python3.11/bin/pip3.11 /usr/bin/pip3.11
  5. 验证安装:

    python3.11 -V
    pip3.11 -V
使用虚拟环境

推荐在项目中使用虚拟环境,以避免影响全局环境:

cd /www/program/some-project
python3.11 -m venv venv
source venv/bin/activate

这样,你的项目环境将与全局环境隔离,可以更安全地管理依赖。

这个整理版既详细又条理清晰,便于你在实际操作或分享时使用。如有其他需求或需要进一步帮助,请告诉我!

相关文章:

在 CentOS 7 上编译安装 Python 3.11

安装必要的依赖 首先,你需要安装一些开发工具和库,以便编译 Python 和 OpenSSL: yum -y groupinstall "Development tools" yum install -y wget gcc-c pcre pcre-devel zlib zlib-devel libffi-devel zlib1g-dev openssl-devel …...

Qt 4.8.7 + MSVC 中文乱码问题深入分析

此问题很常见,然而网上关于此问题的分析大多不够深刻,甚至有错误;加之Qt5又更改了一些编码策略,而很多文章并未提及版本问题,或是就算提了,读者也不重视。这些因素很容易让读者产生误导。今日我彻底研究透了…...

IDEA的常见代码模板的使用

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …...

arcgis怎么选取某个指定区域地方的数据,比如从全国乡镇数据选取长沙市乡镇数据

一共5个步骤,没一句废话,耐心看完。看完你就会在任何软件选取指定范围的数据了。 一、如图,先将数据加载到arcgis里面,我们要选取里面长沙市的范围数据。 二、选取长沙市的语句 “市” like ‘长沙%’ 切记,切记&…...

二、链表(1)

203.移除链表元素 创建一个虚拟哨兵头节点,就不用考虑原本头结点要不要删除 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def remove…...

KAFKA搭建教程

KAFKA搭建教程 期待您的关注 KAFKA学习笔记 帮助更多人 目录 KAFKA搭建教程 1.下载Kafka并解压 2.添加环境变量 3.修改 server.properties 文件 4.将kafka复制到其它节点 5.修改node1、node2节点的broker.id 6.将master的环境变量同步到node1、 node2 7.启动zookeeper…...

Linux网络——套接字与UdpServer

目录 一、socket 编程接口 1.1 sockaddr 结构 1.2 socket 常见API 二、封装 InetAddr 三、网络字节序 四、封装通用 UdpServer 服务端 4.1 整体框架 4.2 类的初始化 4.2.1 socket 4.2.2 bind 4.2.3 创建流式套接字 4.2.4 填充结构体 4.3 服务器的运行 4.3.1 rec…...

SpringBoot源码深度解析

今天,聊聊SpringBoot的源码,本博客聊的版本为v2.0.3.RELEASE。目前SpringBoot的最新版为v3.3.2,可能目前有些公司使用的SpringBoot版本高于我这个版本。但是没关系,因为版本越新,新增的功能越多,反而对Spri…...

【Qt】常用控件

文章目录 QWidgetenabledgeometrywindow framewindowTitlewindowIconqrc资源管理windowOpacitycursorfonttoolTipfocusPolicystyleSheet 按钮类PushButtonRadioButtonCheckBoxSignals 显示类LabelLCDNumberProgressBarCalendar 输入类LineEditTextEditComboBoxSpinBoxDateTimeE…...

electron 主进程和渲染进程通信

在Electron中,主进程(main process)和渲染进程(renderer process)之间的通信是非常重要的,因为Electron应用通常会将用户界面(由Web技术如HTML, CSS, 和JavaScript构建)和原生功能(如系统对话框、文件I/O等)分开处理。主进程管理应用的生命周期和创建渲染进程,而渲染…...

【ARM】MDK-解决CMSIS_DAP.DLL missing报错

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录解决CMSIS_DAP.DLL missing的报错情况,对应相关报错信息,供后续客户参考,快速解决客户问题。 2、 问题场景 客户进行硬件调试时,发现Target设置内有CMSIS_DAP.DL…...

CSS 的环境变量函数env()

在CSS中,env() 函数并不是传统意义上的“环境变量”函数,如你在编程语言中可能遇到的那样。相反,env() 是CSS中的一个函数,它用于访问由宿主环境(如浏览器)提供给CSS的自定义属性(也称为环境变量…...

数学建模--国赛备赛---TOPSIS算法

目录 1.准备部分 1.1提交材料 1.2MD5码相关要求 2.TOPSIS算法 2.1算法概述 2.2基本概念 2.3算法核心思想 2.4拓展思考 3.适用赛题 3.1适用赛题说明 3.2适用赛题举例 4.赛题分析 4.1指标的分类 4.2数据预处理 4.2.1区间型属性的变换 4.2.2向量规范化 4.3数据加…...

均值滤波算法及实现

均值滤波器的使用场景: 均值滤波器使用于处理一些如上述蓝色线的高斯噪声场景 红色曲线是经过均值滤波处理后的数据。主要因为均值滤波设置数据缓冲区(也即延时周期),使得测量值经过缓冲不会出现特别大的变化。 黄色曲线为高斯噪声…...

【Apache Doris】周FAQ集锦:第 16 期

【Apache Doris】周FAQ集锦:第 16 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户…...

单例模式_Golang

目录 一、单例模式 1.1 基本概念 1.2 使用场景 二、Golang实现 2.1 懒汉模式(Lazy Loading) 一、单例模式 1.1 基本概念 一个类只能生成一个实例,且该类能自行创建这个实例的一种模式,这个定义个人感觉可以拆的通俗一些,在项目的生命周…...

代码随想录 day 18 二叉树

第六章 二叉树part06 详细布置 530.二叉搜索树的最小绝对差 需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%B…...

降雨量预测 | Matlab基于ARIMA-RBF降雨量预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 降雨量预测 | Matlab基于ARIMA-RBF降雨量预测 注:程序和数据放在一个文件夹。 程序语言为matlab,程序可出预测效果图,指标图; 代码特点:参数化编程、参数可方便更改、代…...

包含示例和模板的流程文档指南

当您的业务扩展时,您会得到越来越多的移动部件,并且需要有人来跟踪复杂性。人员和任务需要以尽可能最高效的方式进行组织,并且您必须找到某种方法让员工知道如何执行有效完成工作所需的流程。 为了使流程可重复,需要对其进行记录…...

51单片机嵌入式开发:15、STC89C52RC操作蜂鸣器实现一个music音乐播放器的音乐盒

STC89C52RC操作蜂鸣器实现一个music音乐播放器的音乐盒 1 概述2 蜂鸣器操作方法3 蜂鸣器发出音声4 硬件电路5 软件实现6 整体工程:7 总结 1 概述 要实现一个基于STC89C52RC单片机的音乐盒,可以按照以下步骤进行: (1)硬…...

B树(B-Tree)数据结构

1. 什么是B树? B树(B-Tree)是一种多路搜索树,用于存储和检索大量数据。它是自适应的,适用于各种存储设备和各种数据量。B树的特点是高效的搜索、插入和删除操作,且可以在各种情况下保持树的平衡。 2. B树…...

【BUG】已解决:ModuleNotFoundError: No module named ‘torch‘

已解决:ModuleNotFoundError: No module named ‘torch‘ 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市…...

数据结构——队列(链式结构)

一、队列链式结构定义 队列的链式存储结构是一种用链表实现的队列,它不像顺序存储结构那样需要预先分配固定大小的空间。链式存储结构的队列由节点组成,每个节点包括数据和指向下一个节点的指针。队列的链式存储结构可以动态地分配内存,更灵活地处理数据。在链式存储结构中…...

解决GoLand添加GOROOT提示The selected directory is not a valid home for Go Sdk的问题

现象 解决 在Go安装路径下找到zversion.go文件,我的在D:\Program Files\Go1.21.1\src\runtime\internal\sys下面 打开文件,添加如下内容: const TheVersion go1.21.1保存后再重新添加GOROOT即可...

51单片机(STC8H8K64U/STC8051U34K64)_RA8889驱动TFT大屏_I2C_HW参考代码(v1.3) 硬件I2C方式

本篇介绍单片机使用硬件I2C方式控制RA8889驱动彩屏。 提供STC8H8K64U和STC8051U34K64的参考代码。 【硬件部份】STC8H8K64U/STC8051U34K64 RA8889开发板 7寸TFT 800x480 1. 实物连接图:STC8H8K64URA8889开发板,使用P2口I2C接口: 2.实物连…...

【Python其他检查字符串占字节数的方法】

在Python中,检查字符串在特定编码下占用的字节数,最标准且常用的方法是通过字符串的.encode()方法将字符串转换为字节串,然后使用len()函数来获取这个字节串的长度。这是因为字符串(在Python 3中)是以Unicode形式存储的…...

梧桐数据库: 数据库技术中的重写子查询技术

数据库技术中的重写子查询技术,是数据库查询优化的一种重要手段。该技术主要通过改变子查询的形式,使其在执行效率和性能上得到优化。以下是对重写子查询技术的详细解析: 一、定义与目的 定义:重写子查询技术是指在数据库查询优…...

PHP连接MySQL数据库

PHP本身不具备操作MySQL数据库的能力,需要借助MySQL扩展来实现。 1、PHP加载MySQL扩展:php.ini文件中。(不要用记事本打开) 2、PHP中所有扩展都是在ext的文件夹中,需要指定扩展所在路径:extension_dir。 3、…...

STM32自己从零开始实操:PCB全过程

一、PCB总体分布 以下只能让大家看到各个模块大致分布在板子的哪一块,只能说每个人画都有自己的理由: 电源:从外部接入电源,5V接到中间,向上变成4V供给无线,向下变成3V供给下面的接口(也刻意放…...

error `slot` attributes are deprecated vue/no-deprecated-slot-attribute

旧的代码如下&#xff1a; <template slot"title">{{ item.title }}</template> {{ item.title }} 是一个模板标签&#xff0c;它在模板中插入了一个元素&#xff08;slot&#xff09;&#xff0c;并指定了元素的名称为 “title”。这个标签在模板中显示…...

做网站后台服务器什么最好/佛山网站建设

本文使用的是alibaba的Dubbo。Dubbo整合Springboot可以分为四步&#xff1a;第一步&#xff1a;首先需要了解Dubbo官方给的建议&#xff0c;至少有三个工程&#xff1a;接口工程&#xff1a;主要存实体bean和业务接口服务提供者&#xff1a;业务接口的实现类和调用数据持久层&a…...

wordpress 不显示ip/什么是sem推广

现在这个年代&#xff0c;你要是不懂高并发&#xff0c;你都不好意思说自己是搞互联网的! 一、什么是并发&#xff0c;什么是高并发 并发&#xff0c;两个及以上的行为一起发生&#xff0c;比如你一边吃饭一边看电视 高并发&#xff0c;多个行为&#xff08;至于是多少&…...

做微信表情的微信官方网站/搜索引擎营销方案

网址:http://cmder.net/ 如果vim乱码 命令行输入 set LC_ALLzh_CN.UTF8 添加cmder到鼠标右键 c://安装目录/Cmder.exe /REGISTER ALL 右键添加 Cmder here 选项 我们首先需要通过原来的cmd来到Cmder的目录下&#xff0c;然后运行相关的指令&#xff1a; Cmder.exe /REGISTER…...

网站设计方案怎么做/整合营销案例举例说明

第五周任务 这周开始学习函数&#xff0c;这在任何一门语言中都是一个大头&#xff08;在Java中我们称为方法&#xff09;。 首先很重要的一点是&#xff0c;如果你像我一样习惯把自定义的函数放在main方法后面的话&#xff0c;那么一定要记得先声明函数。例如我现在定义了一个…...

搭建网站挣钱/网易疫情实时最新数据

负责控制信号的输入和输出叫做使能&#xff0c;是一个动词&#xff0c;英文‘Enable’。英文Enable&#xff0c;前缀en-就是使的意思&#xff0c;able就是能够。合起来就是使能。使能通俗点说就是一个“允许”信号&#xff0c;进给使能也就是允许进给的信号&#xff0c;也就是说…...

建设银行手机不用了怎么登陆网站/国外搜索引擎

关于系统提示Error loading MIDAS.DLL解决 由于客户电脑故障,动态链接库不能正常加载导致不能正常安装远程系统. 为方便业务员自行修复,特制作本工具,请按以下步骤操作. 注意:部分电脑故障可能导致双击不出现登陆窗口,请重起电脑后操作. 步骤一:安装目录下面的“MIDAS.DLL”文件…...