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

【Linux】centos7下载安装Python3.10,下载安装openssl1.1.1

目录

centos7下载安装Python(版本3.10.14)

(1)网页下载python压缩包,并解压缩 

(2)编译安装

Python在make altinstall时,报错及解决

(3)将安装目录和可执行文件放入指定位置 

 补充:centos7下载安装openssl(版本1.1.1w)


【Linux】centos7系统默认安装的python版本是2.7.5。使用yum安装python3的版本是3.6.8。

想要更高版本,需去python官网下载。  Python官网:Python Source Releases | Python.org

centos7下载安装Python(版本3.10.14)

(1)网页下载python压缩包,并解压缩 

# 创建目录,并切换到目录下
mkdir /opt/src && cd /opt/src# 网页下载python3.10
wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz# 解压缩
tar -zxvf Python-3.10.14.tgz# 切换到Python目录下,并查看该目录下所有文件(有configure,需编译安装)
cd /opt/src/Python-3.10.14 && ls

(2)编译安装

  • configure:配置编译参数,检查系统环境是否符合安装的条件。
  • make:编译。make install:安装。make altinstall:安装(安装目录的bin目录下不会创建python软链接和手册相关信息)。
# 配置编译参数(其实,此处 需指定openssl)
./configure --prefix=/opt/python-3.10.14 --enable-optimizations# 编译安装(可能报错)
make && make altinstall
Python在make altinstall时,报错及解决

报错:

解决:

① 下载安装较高版本的openssl(详见【补充:下载安装openssl(版本1.1.1w)】)。

② 使用yum安装 libffi-devel 和  zlib、zlib-devel。

# 使用yum安装libffi-devel
yum install -y libffi-devel# 查看是否已安装libffi-devel
rpm -qa | grep libffi*# 使用yum安装zlib,zlib-devel
yum install -y zlib zlib-devel# 查看是否已安装zlib,zlib-devel
rpm -qa | grep zlib*

 

Python编译安装时的报错解决后,继续安装Python3.10:

# 切换到Python目录下,并查看该目录下所有文件
cd /opt/src/Python-3.10.14 && ls# 清除之前的编译安装
make clean# 重新配置编译参数
./configure --prefix=/opt/python-3.10.14 --enable-optimizations --with-openssl=/usr/local/openssl-1.1.1w --with-openssl-rpath=auto# 重新编译安装
make && make altinstall# 切换到python安装目录下,并查看该目录及bin目录下所有文件(bin目录下有python可执行文件)
cd /opt/python-3.10.14 && ls && ls bin
 

(3)将安装目录和可执行文件放入指定位置 

/usr/bin存放各软件包的可执行文件
/usr/local存放各软件包的的安装目录
# 查看指定位置下是否已有相关文件和目录
ll /usr/bin | grep python
ll /usr/local | grep python# 将新python的目录软链接到指定位置
ln -s /opt/python-3.10.14 /usr/local/python-3.10.14# 将新python可执行文件软链接到指定位置,软链接python3(不需要修改python软链接)
ln -s /opt/python-3.10.14/bin/python3.10 /usr/bin/python3# 将python包管理工具pip可执行文件软链接到指定位置(若已有软链接,先删除原来的再创建)
ln -s /opt/python-3.10.14/bin/pip3.10 /usr/bin/pip3# 查看python3和pip3版本
python3 --version
pip3 --version

​​

若没有创建python3的软链接,而是直接修改python软链接,则系统查找python3时,会查不到python3,会提示"checking for python3... no",即使已安装成功,系统也会默认没有。

注:在升级glibc时,需要python3,若/usr/bin/python3不存在,则glibc编译安装时会报错。


 补充:centos7下载安装openssl(版本1.1.1w)

openssl下载网址:[ 1.1.1 ] - /source/old/1.1.1/index.html

 先查看openssl版本:

下载安装openssl(版本1.1.1w):

# 网页下载openssl-1.1.1W
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz# 解压缩到/opt/src目录下
tar -zxvf openssl-1.1.1w.tar.gz -C /opt/src# 切换到openssl目录下,并查看该目录下所有文件(有config,需编译安装)
cd /opt/src/openssl-1.1.1w && ls# 配置编译参数
./config --prefix=/opt/openssl-1.1.1w# 编译安装
make -j && make install# 切换到openssl安装目录下,并查看该目录及bin目录下所有文件(bin目录下有openssl可执行文件)
cd /opt/openssl-1.1.1w && ls && ls bin# 查看指定位置下是否已有相关文件和目录
ll /usr/bin | grep openssl
ll /usr/local | grep openssl# 将新openssl的目录软链接到指定位置
ln -s /opt/openssl-1.1.1w /usr/local/openssl-1.1.1w# 备份原来的openssl,将新openssl可执行文件复制到指定位置
mv /usr/bin/openssl /usr/bin/openssl-1.0.2
cp /opt/openssl-1.1.1w/bin/openssl /usr/bin# 查看openssl版本(可能报错,需将执行文件软链接到指定位置)
openssl version

查看openssl版本时,报错:(需将报错信息中的文件软链接到指定位置)

# 将报错信息中的文件软链接到指定位置
ln -s /opt/openssl-1.1.1w/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /opt/openssl-1.1.1w/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1# 重新查看openssl版本
openssl version

相关文章:

【Linux】centos7下载安装Python3.10,下载安装openssl1.1.1

目录 centos7下载安装Python(版本3.10.14) (1)网页下载python压缩包,并解压缩 (2)编译安装 Python在make altinstall时,报错及解决 (3)将安装目录和可执…...

通过 python 操作mongodb

库引入 Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。 import pymongo 链接数据库 创建数据库需要使用 MongoClient 对象,并且指定连接的ip和端口号。 myclientpymongo.MongoClient("localhost",27017)#连接…...

若依框架对于后端返回异常后怎么处理?

1、后端返回自定义异常serviceException 2、触发该异常后返回json数据 因为若依对请求和响应都封装了,所以根据返回值response获取不到Code值但若依提供了一个catch方法用来捕获返回异常的数据 3、处理的方法...

vs code怎么补全路径,怎么快捷输入文件路径

安装插件: 链接:https://marketplace.visualstudio.com/items?itemNamejakob101.RelativePath 使用 按住 Ctrl Shift H,弹出窗口,输入文件补全,回车就可以了 排除文件 如果你的项目下文件太多,它会…...

git分支开发主干合并流程

文章目录 一、分支开发二、主干合并三、删除合并过的分支 一、分支开发 创建分支git branch <分支名> # git branch my_new_branch开发后提交代码git commit -m 本次开发内容 # git commit -m 增加登录保持功能同步远端仓库git push origin <分支名> # git push o…...

01Python相关基础学习

Python基础 模块相关导入模块sys模块 模块相关 导入模块 1. import 模块名 2. import 模块名 as 别名 3. from 模块名 import 成员名 as 别名sys模块 1. sys.argv 介绍: 实现从程序的外部想程序传递参数返回的是一个列表,第一个元素是程序文件名,第二个元素是程序外部传入的…...

InTouch历史报警、历史事件按时段查询,导出

简介&#xff1a;本插件基于上位机组态InTouch的历史报警、操作记录而开发 适用InTouch版本&#xff1a;不限 适用Windows系统&#xff1a;不限 适用数据库&#xff1a;SQL Server 标记名点数&#xff1a;不限 配套软件安装&#xff1a;Excel、WPS、SQL Server 功能&…...

网络攻防概述(基础概念)

文章目录 APTAPT概念APT攻击过程 网络空间与网络空间安全网络空间(Cyberspace)网络空间安全(Cyberspace Security) 网络安全属性机密性(Confidentiality或Security)完整性(Integrity)可用性&#xff08;Availability&#xff09;不可否认性&#xff08;Non-repudiation&#xf…...

了解Java垃圾收集

Java 的垃圾收集机制在 Java 应用程序开发中至关重要。此机制对于通过消除不再使用的对象来释放内存空间得过程来说至关重要。在这篇文章中&#xff0c;我带大家深入了解下 Java 垃圾收集的机制&#xff0c;并探索其工作原理、优点以及实现最佳性能的最佳实践。 1.什么是 Java…...

快速搭建 WordPress 外贸电商网站指南

本指南全面解析了在 Hostinger 平台上部署 WordPress 外贸电商网站的详细步骤&#xff0c;涵盖托管方案选择、WordPress 一键安装、主题挑选与演示数据导入、主题个性化定制、SEO插件插件 AIOSEO 安装、通过 GTranslate 实现多语言自动翻译、地区访问控制插件&#xff0c;助力用…...

网络编程 —— Http进度条

第一种下载带进度的方法 string url "https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi"; 1使用getASync获取服务器响应数据 参数1请求的路径&#xff0c; 参数2 HttpCompletionOption.ResponseHeadersRead 请求完成时候等待请求带什么程度才…...

5月26(信息差)

&#x1f30d; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; &#x1f384; Windows 11 Beta 22635.3646 预览版发布&#xff1a;中国大陆地区新增“微软电脑管家”应用 ✨ 成都限购解除即将满…...

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候&#xff0c;具体是按照什么样的策略来实现的呢&#xff1f; Redis支持两种方式的持久化&#xff0c;一种是RDB方式、另一种是AOF&#xff08;append-only-file&#xff09;方式&#xff0c;两种持久化方式可以单独使用其中一种&…...

C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。

C#调用HttpClient.SendAsync报错&#xff1a;System.Net.Http.HttpRequestException: 发送请求时出错。 var response await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken);问题出在SSL/TLS&#xff0c;Windows Server 2012不支持…...

大模型基础知识

文章目录 1. 位置编码1.1 绝对位置编码1.2 相对位置编码1.3 旋转位置编码2. 注意力机制2.1 MHA(muti head attention)2.2 MQA(muti query attention)2.3 GQA(grouped query attention)3. 大模型分类4. 微调方法4.1 Prompt Tuning4.2 Prefix Tuning4.3 Lora4.4 QLora5. La…...

时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

目录 引言 LSTM的预测效果图 LSTM机制 了解LSTM的结构 忘记门 输入门 输出门 LSTM的变体 只有忘记门的LSTM单元 独立循环(IndRNN)单元 双向RNN结构(LSTM) 运行代码 代码讲解 引言 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种常用的循环神经网络&a…...

[8] CUDA之向量点乘和矩阵乘法

CUDA之向量点乘和矩阵乘法 计算类似矩阵乘法的数学运算 1. 向量点乘 两个向量点乘运算定义如下&#xff1a; #真正的向量可能很长&#xff0c;两个向量里边可能有多个元素 (X1,Y1,Z1) * (Y1,Y2,Y3) X1Y1 X2Y2 X3Y3这种原始输入是两个数组而输出却缩减为一个(单一值)的运…...

音视频开发9 FFmpeg 解复用框架说明,重要知识点

一&#xff0c;播放器框架 二 常用音视频术语 容器&#xff0f;文件&#xff08;Conainer/File&#xff09;&#xff1a; 即特定格式的多媒体文件&#xff0c; 比如mp4、flv、mkv等。 媒体流&#xff08;Stream&#xff09;&#xff1a; 表示时间轴上的一段连续数据&#xff0…...

抖音小店出单之后怎么发货?抖店详细发货流程来了

大家好&#xff0c;我是喷火龙。 抖音小店发货是有规则的&#xff0c;如果出现超时发货或者虚假发货都会被平台处罚的&#xff0c;会影响我们店铺的评分和正常运营&#xff0c;还有些小伙伴们在发货的时候会遇到平台的违规提醒等问题。 今天我就给大家讲一下抖音小店的发货流…...

Transformer详解(5)-编码器和解码器

1、Transformer编码器 import torch from torch import nn import copy from norm import Norm from multi_head_attention import MultiHeadAttention from feed_forward import FeedForward from pos_encoder import PositionalEncoderdef get_clones(module, N):"&quo…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...