分享交流
合作共赢!

CentOS7系统升级python2.7.5到python3以上版本方法总结

一、说明:

CentOS7中自带的python版本是python-2.7.5,由于新开的虚拟机需要使用python3,而使用python编程中涉及到的一些模块,不如pymysql必须要python3以上版本才可以正常运行,于是便升级一下版本。

二、安装Python3.7.3

官网下载地址:https://www.python.org/downlo…

这里选择下载python 3.7.3。

# 下载
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
# 解压
tar -zxf Python-3.7.3.tgz
# 安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc  libffi-devel
# 进入python目录
cd Python-3.7.3
# 编译
./configure --prefix=/usr/local/python3.7 --with-ssl
#安装
make && make install

关于Python3.7以上的版本,需要多安装一个依赖包:

yum install -y libffi-devel

否则会出现ModuleNotFoundError: No module named '_ctypes'的报错。

在make install后执行echo $?,为0表示没有出错。如果没有报错,在/usr/local会生成python3.7目录。

三、安装后进行配置

1.  系统配置

然后将系统默认的python2备份

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

创建新的软连接

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

查看版本

[root@moli-linux03 src]# python -V
Python 3.7.3     

升级完成了。

2. 更改yum配置

因为yum需要使用python2,将/usr/bin/python改为python3后,yum就不能正常运行了,因此需要更改一下yum的配置。

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down

编辑这两个文件,将文件头的#!/usr/bin/python改为#!/usr/bin/python2即可。

四、报错处理

若报错如下:

[root@ecs-e84a imagezqj]# pip --version
Traceback (most recent call last):
File "/usr/bin/pip", line 7, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip._internal.cli.main'

1. 备份/usr/bin/pip

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

2. 创建新的pip3软连接到/usr/bin/pip

[root@ecs-e84a imagezqj]# ll /usr/bin/pip
lrwxrwxrwx 1 root root 29 Mar 15 21:43 /usr/bin/pip -> /usr/local/python3.7/bin/pip3

3.再次查看pip –version,已恢复正常。

[root@ecs-e84a bin]# pip --version
pip 19.0.3 from /usr/local/python3.7/lib/python3.7/site-packages/pip (python 3.7)
赞(0) 打赏
未经允许不得转载:琼杰笔记 » CentOS7系统升级python2.7.5到python3以上版本方法总结
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏