当前位置: 首页 > 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

相关文章:

  • RabbitMQ(一)概述第一个应用程序
  • 视频监控平台AS-V1000产品介绍:账户或用户数据的导入和导出功能介绍
  • ts:条件类型
  • MySQL:如果用left join的话,左边的表一定是驱动表吗
  • Diffusion Policy:基于扩散模型的机器人动作生成策略
  • CLIP源码详解:clip.py 文件
  • 【除了知乎,大家都在逛什么?持续更新~~】
  • python数据分析——apply 1
  • 全局查询筛选器适用场景 以及各场景示例
  • 算法刷题day54:搜索(一)
  • Alamofire常见GET/POST等请求方式的使用,响应直接为json
  • HQL面试题练习 —— 取出累计值与1000差值最小的记录
  • 链表经典题目—相交链表和链表倒数第k个节点
  • 基于香橙派 Ai Pro的ROS Qt人机交互软件部署指南
  • 漫步者x1穷鬼耳机双耳断连
  • (三)从jvm层面了解线程的启动和停止
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Angular Elements 及其运作原理
  • DOM的那些事
  • gops —— Go 程序诊断分析工具
  • Java读取Properties文件的六种方法
  • Java应用性能调优
  • js操作时间(持续更新)
  • laravel5.5 视图共享数据
  • springMvc学习笔记(2)
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue学习第二天
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 检测对象或数组
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 使用common-codec进行md5加密
  • 算法-插入排序
  • 我建了一个叫Hello World的项目
  • 一道闭包题引发的思考
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • postgresql行列转换函数
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #NOIP 2014# day.1 T2 联合权值
  • #在 README.md 中生成项目目录结构
  • $L^p$ 调和函数恒为零
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一) storm的集群安装与配置
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net core使用EPPlus设置Excel的页眉和页脚
  • .NET 回调、接口回调、 委托
  • .net6 webapi log4net完整配置使用流程
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件