OS信息:

[root@localhOSt ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@localhost ~]# Python -V Python 2.7.5

安装编译环境包

yum install gcc-c gcc make cmake zlib-devel bzip2-devel OpenSSL-devel ncurse-devel libffi-devel g -y

openssl升级

因为会有_ssl模块的错误,先需要升级下openssl

ModuleNotFoundError: No module named '_ssl' 的错误

怎样获取centos8的python版本(centos7.6升级python2.7.5)(1)

应该是没有找到_ssl的错误,需要升级openssl到1.1.X以上

当前版本

[root@zabbix alertscripts]# openssl version

OpenSSL 1.0.2k-fips 26 Jan 2017

下载最新的openssl

下载网址:https://www.openssl.org/

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

安装openssl

tar xf openssl-1.1.1q.tar.gz cd openssl-1.1.1q ./config --prefix=/usr/local/openssl-1.1.1q --openssldir=/usr/local/openssl-1.1.1q shared make & make install

配置 openssl 共享库

配置共享库文件

vim /etc/ld.so.conf.d/openssl.conf /usr/local/openssl-1.1.1q/lib/ #更新共享库 ldconfig

检验 openssl-1.1.1 是否已加入共享库

ldconfig -v | grep ssl

/usr/local/openssl-1.1.1q/lib:

libssl.so.1.1 -> libssl.so.1.1 '''有这个表示加成功了'''

libssl3.so -> libssl3.so

libssl.so.10 -> libssl.so.1.0.1e

怎样获取centos8的python版本(centos7.6升级python2.7.5)(2)

更新openssl链接

mv /usr/bin/openssl /usr/bin/openssl1.0.2k ln -s /usr/local/openssl-1.1.1q/bin/openssl /usr/bin/openssl openssl version [root@zabbix bin]# openssl version OpenSSL 1.1.1q 5 Jul 2022

python3的安装

下载最新版本的python包

wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz

解压、创建安装目录并配置安装python3

tar -Jxvf Python-3.10.6.tar.xz mkdir -p /usr/local/python cd /root/Python-3.10.6 ./configure --prefix=/usr/local/python/ --with-openssl=/usr/local/openssl-1.1.1q

如果有错误,先执行make clean,然后重新执行./configure --prefix=/usr/local/python/,在执行make && make install即可

编译及编译安装

make make install

#更新相关的连接

mv /usr/bin/python /usr/bin/python.bak mv /usr/bin/pip /usr/bin/pip.bak ln -s /usr/local/python/bin/python3 /usr/bin/python ln -s /usr/local/python/bin/pip3 /usr/bin/pip

更正python3下yum无法使用的问题

把下面四个里面的python指向python2.7

vi /usr/bin/yum vi /usr/libexec/urlgrabber-ext-down vi /usr/bin/firewall-cmd vi /usr/sbin/firewalld yum repolist

把最顶部改成#!/usr/bin/python2.7

之后应该就可以了,后续如果有其他使用了python2.7的,照此处理

至此,python升级到3.10.6完成。

如果有不清楚的欢迎留言问下,帮您看下什么问题。

如果觉得对您有用,欢迎转发、转载

,