【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软链接和手册相关信息)。
# 配置编译参数
./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/pip# 查看python3和pip版本
python3 --version
pip --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

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

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

相关文章

2024电工杯数学建模A题思路+模型+代码

2024电工杯数学建模A题思路模型代码,开赛后第一时间更新,更新见文末名片 以下为2023年电工杯A提思路: A题: 电采暖负荷参与电力系统功率调节的技术经济分析。 典型住户电采暖负荷用电行为分析: a) 分析典型房间温变过程微分方程…

EM算法求解高斯混合模型参数公式推导

高斯混合模型介绍 高斯混合模型(Gaussian Mixture Model,简称GMM)是一种经典的概率模型,被广泛应用于数据挖掘、模式识别和机器学习等领域。它采用多个高斯分布组合来对数据进行建模,每个高斯分布对应于数据中的一个子…

ROCm上运行情感分析:使用卷积神经网络

15.3. 情感分析:使用卷积神经网络 — 动手学深度学习 2.0.0 documentation (d2l.ai) 代码 import torch from torch import nn from d2l import torch as d2lbatch_size 64 train_iter, test_iter, vocab d2l.load_data_imdb(batch_size)def corr1d(X, K):w K.s…

分布式任务调度内的 MySQL 分页查询优化

作者:vivo 互联网数据库团队- Qiu Xinbo 本文主要通过图示介绍了用主键进行分片查询的过程,介绍了主键分页查询存在SQL性能问题,如何去创建高效的索引去优化主键分页查询的SQL性能问题。 对于数据分布不均如何发现,提供了一些SQL…

C语言初阶——5操作符

一、算数操作符 除了% 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于/ 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。% 操作符的两个操作数必须为整数。返回的是整除之后的余数。 1、类型转换 C语言…

Simplicity Studui V5 新安装后无法Product Updates

之前(2021年)在SiliconLabs官网下载了SSV5,安装包我也保存在硬盘了,最近换了台电脑安装SSV5后安装 SDK之前必须Product Updates,但死活安装不上,老是提示发生了错误。来来回回卸载安装几十遍,后…

每日新闻掌握【2024年5月24日 星期五】

2024年5月24日 星期五 农历四月十七 TOP大新闻 卫龙因缺斤少两致歉并开展自查 5月23日,卫龙官方账号发布致消费者的一封信。信中提到:针对近日消费者反馈的15g魔芋爽存在克重不足的情况我们表示诚挚的歉意。产品质量是卫龙的重中之重。卫龙已经与相关消…

瓦解信息茧房,IPWO打破“墙”的限制

国外与国内的网络之间隔着一道无形的“墙”,这面“墙”让我们避免了海外不法分子的窥视,保护了我们的网络隐私。但是,“墙”的存在同样阻止了我们访问全球网络,获取海外资源,形成巨大的信息茧房。 越来越多的人渴望撕开…

Plant Simulation 双深位立库开发系列教程-出入口参数化

上一节讲到货架参数化,这一节我们继续讲出入口参数化,先看我们需要达到的效果,在Conveyor增加一个出入口设置功能,用户可以通过该功能设置多个出入口 步骤1:创建ConveyorList 在RackLane中新建一个表格ConveyorList,用于存储用户的设置参数 表格设置名字、类型、方向 、…

c# 基础 .net core、.net framework、c#、mono之间的关系

它们都是微软旗下的产品.NET Framework 主要针对window环境开发,是一套开发框架,它包含了大量的类库和运行时环境(CLR),支持多种编程语言,包括 C#。- .NET Framework 的版本(如 4.5、4.6、4.7 …

Docker配置国内镜像源

添加Docker国内镜像源 在/etc/docker/daemon.json文件中添加以下内容: {"registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"] }重启docker s…

Java enum 枚举类

Java Enum 枚举类 概述 枚举类型本质上也是一种类,只不过是这个类的对象是有限的、固定的几个,不能让用户随意创建。 如果针对于某个类,其实例是确定个数,则推荐将此类声明为枚举类。 如果枚举类的实例只有一个,则可…

paligemma、Grounding-DINO-1.5简单无需标注无需训练直接可以使用的VLM图像到文本模型

1、paligemma 参考:https://github.com/google-research/big_vision/blob/main/big_vision/configs/proj/paligemma/README.md 模型架构: 文本与图像特征一起送入大模型 在线体验网址: https://huggingface.co/spaces/big-vision/paligemma 通过文字prompt既可与图片对话…

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

HCIP-Datacom-ARST自选题库__MPLS判断【道题】

1.在MPLS网络中,每台设备依然要遵循最长匹配原则,即每台设备都要有到达目的IP地址的路由,否则网络设备会丢弃收到的MPLS报文。 2.在MPLS网络中,运行DP协议的SR之间通过交换LDP消息来实现邻居发现、会活建立与维护以及标签管理等功…

Java 9的模块化系统(JPMS):探讨Java 9引入的模块化系统,并解释其对Java生态的影响

Java 9 模块化系统(JPMS)简介 Java 9 模块系统,也被称为 Java 平台模块系统 (JPMS),它是 Java 9 的核心特性之一,用于改进 Java 的大型应用的封装性和可维护性。 JPMS 的主要功能如下: 模块化代码:JPMS 允许你将代码库划分为不同的模块,在没有显示声明的情况下,模…

QT creator centralwidget前面有个禁止符号

centralwidget前面有个禁止符号:表示分拆布局 在主窗口空白处,右键,选择布局即可选择不同的布局方式,表示对窗口内所有控件部件进行布局,不如垂直布局。

AI商业化之路:开源大模型VS闭源大模型

开源大模型与闭源大模型,你更看好哪一方? 简介:评价一个AI模型“好不好”“有没有发展”,首先就躲不掉“开源”和“闭源”两条发展路径。对于这两条路径,你更看好哪一种呢? 探讨开源大模型和闭源大模型在商…

【机器学习】—机器学习和NLP预训练模型探索之旅

目录 一.预训练模型的基本概念 1.BERT模型 2 .GPT模型 二、预训练模型的应用 1.文本分类 使用BERT进行文本分类 2. 问答系统 使用BERT进行问答 三、预训练模型的优化 1.模型压缩 1.1 剪枝 权重剪枝 2.模型量化 2.1 定点量化 使用PyTorch进行定点量化 3. 知识蒸馏…

线性回归 10 种图表 上【建议收藏】

这段时间,不少同学提到了一些图表的问题。 每次在使用matplotlib画图,运用这些图表说明问题的时候,很多时候是模糊的,比如说什么时候画什么图合适? 其实这个根据你自己的需求,自己的想法来就行。 今天的…