CentOS7.9安装python3.10

news/2024/11/28 13:50:16/

CentOS7默认只安装了python2的版本,需要自己手动安装python3,方法如下:

一、升级openssl到1.1以上

# 1.安装对应的依赖库

sudo yum install -y zlib yum install zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++

# 2. 下载openssl安装文件

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz   --no-check-certificate

# 3. 解压安装openssl,并进入openssl的目录

tar -zxvf openssl-1.1.1k.tar.gz

cd openssl-1.1.1.k

./config --prefix=/usr/local/openssl shared zlib

sudo make && make install

# 4. 备份当前openssl

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

# 5. 配置使用新版本

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

# 6. 更新动态链接库数据并重新加载

echo /usr/local/openssl/lib >> /etc/ld.so.conf

ldconfig -v

# 7. 查看是否升级成功

openssl version

# 8. 如果缺少libssl.s0.1.1

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

二、安装Python3.10

1、安装依赖包

sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gdbm-devel db4-devel libpcap-devel xz-devel make gcc gcc-c++

注意事项:如果升级了openssl ,需要解压源码包后修改vim /tmp/Python-3.10.8/Modules/Setup 文件,在文件末尾追加如下内容:

SSL=/usr/local/openssl

_ssl _ssl.c \

        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \

        -L$(SSL)/lib -lssl -lcrypto

2、下载python3源码包,并解压编译      

#下载源码包wget https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tgz #此处可更换为自己想要的包名即可# 进入源码目录

cd Python-3.10.11

tar -zvxf Python-3.10.11.tgz

cd Python-3.10.11

#指定安装目录

sudo ./configure --prefix=/usr/local/python3 --with-ssl=/usr/local/openssl

#编译安装

sudo make && sudo make install && sudo make clean

3、设置环境变量

#软链接

sudo ln -s /usr/local/python3/bin/python3.10  /usr/bin/python3

sudo ln -s /usr/local/python3/bin/pip3.10  /usr/bin/pip3

#查看安装的python版本

python3 --version

pip3 list

4、如果yum无法正常使用,可能是3跟2冲突导致,修改如下文件即可

sudo vim /usr/bin/yum

sudo vim /usr/libexec/urlgrabber-ext-down

把文件里面的#!/usr/bin/python 也修改为#! /usr/bin/python2


http://www.ppmy.cn/news/96155.html

相关文章

传统加密技术(恺撒+仿射)

1.Caesar cipher恺撒密码 是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。 加密对象:英文字母 密钥格式:k&#…

数据结构与算法·第2章【线性表】

线性结构具有以下基本特征: 有唯一的一个被称为首元素(或头元素)的元素,没有直接前驱;有唯一的一个被称为尾元素(或尾节点)的元素,没有直接后继。 数据元素之间存在一对一的线性关…

S32K144开发板

目录 一.S32K144开发板概述 二.产品技术和功能规格 三.开发环境 1.S32K144的开发环境主流是这么三种: 2.开发板Demo工程 四.S32K144开发板实物图 五、汽车大灯硬件架构 一.S32K144开发板概述 S32K14…

canal server 标准化集群搭建(完结)

4.2. 创建 server 所属集群:选择刚才添加的 “集群名称” server 名称: server_1、server_2、server_3 依次类推 server ip:server 的 ip 地址 admin 端口:canal server 与 canal admin 的通信端口,非生产环境从 2…

数字图像和光学图像的区别?

如果您曾经尝试在走路时在手机上拍摄视频,您就会知道保持图像静止是很棘手的。有一些巧妙的技术旨在减少这种摇晃的凸轮效应,并且有两种不同的方法来实现它。 光学图像稳定来自静态摄影领域,使用镜头内部的复杂硬件机制来保持图像静止并实现…

SQLCMD的介绍

1 sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -i filename.sql 下面的内容是详细介绍sqlcmd的,有兴趣的朋友可以看看 因为公司的业务需要,所以采集了一个2W多条的数据,都是insert语句,生成一个200多M的数据,谁料在…

内外网隔离下,通过网关转发,来部署前后端分离的系统

前言 最近为某银行系统部署了一套商城系统,网络环境比较特别,思路记录下,其中商场系统使用前后端分离模式部署。 该银行网络环境: 外网服务器:外网可以访问到它,不能访问外网。 网关服务器:跟…

【算法证明 二】快速排序的时间复杂度分析

快速排序是一种分治算法。选取主元后,将数组使用 partition 算法根据主元分割成两半,再对两半分别进行排序。假设左半边数量为 q q q,则右半边数量为 n − q − 1 n-q-1 n−q−1。则由如下递归式,得到如下运行时间递归式&#x…