Centos7系统升级python至3

1:安装 “Development tools” 软件组,其中包含编译和开发工具

yum -y groupinstall Development tools

如果提示没有可用包就先执行以下命令:

yum clean all
2:安装 Python 编译和运行所需的开发库和依赖项
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
3:安装 libffi 开发库和 zlib1g-dev 包,它们是 Python 编译和运行的额外依赖项
yum install -y libffi-devel zlib1g-dev
4:#安装所有以 “zlib” 开头的软件包,以满足可能的 zlib 依赖项
yum install zlib* -y

安装OpenssL

  1. 下载openssL1.1.1版本

wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
**2.**解压压缩包
tar -zxvf openssl-1.1.1.tar.gz
**3.**进入openssl目录
cd openssl-1.1.1

4. 编译并安装OpenssL
./config shared zlib

make && make install

!!!!安装的路径为:/usr/local/bin/openssl!!!!

PS:编译安装时间比较久,并且不建议使用多线程编译,为了稳定请使用单线程编译即可

5编译完成,进行替换原有的Openssl

注:如果有程序需要依靠旧版openssl运行,请先备份完旧版openssl后再执行以下命令!!!

rm -rf /usr/lib64/libssl.so
rm -rf /usr/lib64/libcrypto.so
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
6:测试是否安装完成:

用openssl version命令来查询

如果输出为 OpenSSL 1.1.1 11 Sep 2018 则代表安装成功

安装python3.10.1前准备

1:下载Python压缩包(你想选择其他版本就更改其中的数字就行,但是后面的教程你要注意你的文件名称)

PS:这里的压缩包我默认下载到root目录下

wget https://www.python.org/ftp/python/3.10.1/Python-3.10.1.tgz
2:解压文件夹
 tar -xvf Python-3.10.1.tgz
3:进入python目录
cd Python-3.10.1
3: 创建 Python 3.10 的安装目录
mkdir /usr/local/python3

完成前期部署了这里就先放一放,接下来我们要去做一些准备工作

升级 GCC 版本

1:安装 CentOS 软件集和编译工具链

yum install -y centos-release-scl
yum install -y devtoolset-8-toolchain

2:启用新的工具链
scl enable devtoolset-8 bash

完成以上部署了,接下来到正题了!

编译并安装 Python 3.10

1:进入到python页面后先不急进行编译安装先,在你python的目录下找到名为:Modules,的文件夹并进入,然后找到名为Setup,的文件进行编辑

vim Modules/Setup
2:位置大概在212-214行那,将注释取消掉

_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto
3:大概就是这三行,取消掉注释,然后保存并退出。
4:运行 Python 配置脚本,配置编译参数
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/bin/openssl --enable-optimizations
6:altinstall 和install,二者的一个重要区别在于,后者会创建符号链接,将 python3 等命令链接到正在安装的新版本 Python3 上,这可能会对系统造成破坏
make & make install

这个编译的时间比较久,长则半小时,慢则10分钟

出现图片这个不是报错!不是报错!不是报错!是运行成功并安装完成了,可以继续接下来的步骤

删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和所有的中间目标文件

make clean

创建软链接以将 Python 3.10 与 python3 和 pip3 关联

1:备份系统默认的 /usr/bin/python 可执行文件

mv /usr/bin/python /usr/bin/python.bak

2:创建软链接,将 /usr/local/python3/bin/python3 关联到 /usr/bin/python3,使 python3 命令可用

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

3:备份系统默认的 /usr/bin/pip 可执行文件

mv /usr/bin/pip /usr/bin/pip.bak

注:系统可能会报找不到这个文件,这个没什么关系不用管!!!!!!!

4: 创建软链接,将 /usr/local/python3/bin/pip3 关联到 /usr/bin/pip3,使 pip3 命令可用

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

5:部署完成接下来验证一下python是否正常

向 /etc/ld.so.conf 文件中添加新的库路径

echo "/usr/local/python3/lib" >> /etc/ld.so.conf

ldconfig -v

覆盖现有Python

mv /usr/bin/python /usr/bin/python2_old
 mv /usr/bin/pip /usr/bin/pip2_old  

修改软链接

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值