侧边栏壁纸
博主头像
jinn博客博主等级

行动起来,活在当下

  • 累计撰写 14 篇文章
  • 累计创建 5 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

python2升级python3.7

jinn
2024-09-11 / 0 评论 / 0 点赞 / 36 阅读 / 3994 字

Python2.7升级至Python3.7

我使用的是国外服务器,访问外网没有任何问题
系统环境:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

参考文档

1. 查看当前Python的版本

执行如下命令,可以看到服务器上的Python版本为2.7.5

[root@racknerd-619bfd ~]# python --version
Python 2.7.5

2. 升级前准备

2.1 安装编译环境

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel libffi-devel -y

2.2 下载Python官网Python3.7源码包

# 进入一个目录,temp
cd /temp

# 下载Python3.7包
# https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

2.3 解压配置

# 解压python源码包
tar Jxvf Python-3.7.0.tar.xz

#创建目录
mkdir -p /usr/local/python3

#配置(指定安装目录)
cd Python-3.7.0

# --enable-optimizations
# 这个选项启用了编译时的优化,使得 Python 在运行时性能更好。这通常会启用额外的编译选项,例如使用 Profile Guided Optimization (PGO) 和 Link Time Optimization (LTO) 来进一步优化 Python 解释器的性能。启用此选项后,编译时间会更长,但最终生成的 Python 二进制文件性能更高。
# 实测执行时间很长 10-15min
./configure --prefix=/usr/local/python3 --enable-optimizations

2.4 编译安装

make && make install

3.更换系统默认Python版本

3.1 备份旧版本Python

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

3.2 创建新版本Python3.7 软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python

3.3 查看Python版本

# 查看版本是否升级到3.7.0
python -v

回显如下,证明python升级成功

[root@racknerd-619bfd bin]# python --version
Python 3.7.0

4. 修改yum功能

因为yum的功能依赖Pyhon2,现在更改默认Python版本后会导致yum无法正常工作,所以进行以下修复

vim /usr/bin/yum

将/usr/bin/python改为/usr/bin/python2.7

01-python.png

将/usr/bin/python改为/usr/bin/python2.7

vim /usr/bin/yum-config-manager

02-python.png

将/usr/bin/python改为/usr/bin/python2.7

vim /usr/libexec/urlgrabber-ext-down

03-python.png

再重新执行yum命令,查看是否正常!

0

评论区