【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历史报警、历史事件按时段查询,导出
简介:本插件基于上位机组态InTouch的历史报警、操作记录而开发 适用InTouch版本:不限 适用Windows系统:不限 适用数据库:SQL Server 标记名点数:不限 配套软件安装:Excel、WPS、SQL Server 功能&…...
网络攻防概述(基础概念)
文章目录 APTAPT概念APT攻击过程 网络空间与网络空间安全网络空间(Cyberspace)网络空间安全(Cyberspace Security) 网络安全属性机密性(Confidentiality或Security)完整性(Integrity)可用性(Availability)不可否认性(Non-repudiation…...
了解Java垃圾收集
Java 的垃圾收集机制在 Java 应用程序开发中至关重要。此机制对于通过消除不再使用的对象来释放内存空间得过程来说至关重要。在这篇文章中,我带大家深入了解下 Java 垃圾收集的机制,并探索其工作原理、优点以及实现最佳性能的最佳实践。 1.什么是 Java…...
快速搭建 WordPress 外贸电商网站指南
本指南全面解析了在 Hostinger 平台上部署 WordPress 外贸电商网站的详细步骤,涵盖托管方案选择、WordPress 一键安装、主题挑选与演示数据导入、主题个性化定制、SEO插件插件 AIOSEO 安装、通过 GTranslate 实现多语言自动翻译、地区访问控制插件,助力用…...
网络编程 —— Http进度条
第一种下载带进度的方法 string url "https://nodejs.org/dist/v20.10.0/node-v20.10.0-x64.msi"; 1使用getASync获取服务器响应数据 参数1请求的路径, 参数2 HttpCompletionOption.ResponseHeadersRead 请求完成时候等待请求带什么程度才…...
5月26(信息差)
🌍 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来! 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来! 🎄 Windows 11 Beta 22635.3646 预览版发布:中国大陆地区新增“微软电脑管家”应用 ✨ 成都限购解除即将满…...
【Redis】持久化操作详解
Redis 持久化操作详解 Redis 实现持久化的时候,具体是按照什么样的策略来实现的呢? Redis支持两种方式的持久化,一种是RDB方式、另一种是AOF(append-only-file)方式,两种持久化方式可以单独使用其中一种&…...
C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。
C#调用HttpClient.SendAsync报错:System.Net.Http.HttpRequestException: 发送请求时出错。 var response await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken);问题出在SSL/TLS,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(Long Short-Term Memory)是一种常用的循环神经网络&a…...
[8] CUDA之向量点乘和矩阵乘法
CUDA之向量点乘和矩阵乘法 计算类似矩阵乘法的数学运算 1. 向量点乘 两个向量点乘运算定义如下: #真正的向量可能很长,两个向量里边可能有多个元素 (X1,Y1,Z1) * (Y1,Y2,Y3) X1Y1 X2Y2 X3Y3这种原始输入是两个数组而输出却缩减为一个(单一值)的运…...
音视频开发9 FFmpeg 解复用框架说明,重要知识点
一,播放器框架 二 常用音视频术语 容器/文件(Conainer/File): 即特定格式的多媒体文件, 比如mp4、flv、mkv等。 媒体流(Stream): 表示时间轴上的一段连续数据࿰…...
抖音小店出单之后怎么发货?抖店详细发货流程来了
大家好,我是喷火龙。 抖音小店发货是有规则的,如果出现超时发货或者虚假发货都会被平台处罚的,会影响我们店铺的评分和正常运营,还有些小伙伴们在发货的时候会遇到平台的违规提醒等问题。 今天我就给大家讲一下抖音小店的发货流…...
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…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
