CentOS7下将Python的版本升级为3.7
众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的,但是linux中默认安装的python一般是2.6和2.7版本的,要是使用linux下的python就很有必要升级一下
进入正题
1.检查确认系统的相关信息
[root@localhost /]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost /]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost /]# python -V
Python 2.7.5
当前的python版本号为2.7.5
2.下载安装Python-3.7.0
1) 下载Python-3.7.0.tgz软件包
[root@localhost /]# mkdir -p /server/tools/
[root@localhost /]# cd /server/tools/
[root@localhost tools]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
也可以手动下载再上传到服务器:https://www.python.org/ftp/python/
2) 解压编译安装
[root@localhost tools]# tar -xf Python-3.7.0.tgz
[root@localhost tools]# cd Python-3.7.0
[root@localhost Python-3.7.0]# ./configure --with-ssl
[root@localhost Python-3.7.0]# make
[root@localhost Python-3.7.0]# make install
异常处理:
1、如果编译出错,需要检查make,gcc等是否安装好:yum install make gcc gcc-c++
2、如果出现这种错误则需要安装zlib的解压缩类库,再执行make install :yum -y install zlib*
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
3、ModuleNotFoundError: No module named '_ctypes':
3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可:yum install libffi-devel -y
出现一下提示,则说明安装成功
3) 安装完成,需要更改默认的python版本
# 检查当前默认的python2,默认自带的python位置在”/usr/bin/“目录下
[root@localhost Python-3.7.0]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 3月 26 23:38 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 3月 26 23:38 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 10月 31 2018 /usr/bin/python2.7
# 检查新安装的python3,默认编译安装的python位置在”/usr/local/bin/“目录下
[root@localhost Python-3.7.0]# ll /usr/local/bin/python*
lrwxrwxrwx. 1 root root 9 6月 16 21:47 /usr/local/bin/python3 -> python3.7
-rwxr-xr-x. 2 root root 13966016 6月 16 21:46 /usr/local/bin/python3.7
lrwxrwxrwx. 1 root root 17 6月 16 21:47 /usr/local/bin/python3.7-config -> python3.7m-config
-rwxr-xr-x. 2 root root 13966016 6月 16 21:46 /usr/local/bin/python3.7m
-rwxr-xr-x. 1 root root 3097 6月 16 21:47 /usr/local/bin/python3.7m-config
lrwxrwxrwx. 1 root root 16 6月 16 21:47 /usr/local/bin/python3-config -> python3.7-config
# 修改默认的python
# 删除旧的python的软连接,创建新的python2和python3的软连接
[root@localhost Python-3.7.0]# cd /usr/bin/
[root@localhost bin]# rm -f python2
[root@localhost bin]# mv python python2.6.ori
[root@localhost bin]# ln -s python2.7 python2
[root@localhost bin]# ln -s /usr/local/bin/python3 /usr/bin/python
4) 检查修改后的python版本
[root@localhost bin]# python -V
Python 3.7.0
[root@localhost bin]# python2 -V
Python 2.7.5
[root@localhost bin]# python3 -V
Python 3.7.0
[root@localhost bin]#
可以看到,默认打开的python版本已经是3.7.0,至此python的版本已经升级成功
3.后续的软件问题处理
# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置
[root@localhost bin]# vi /usr/bin/yum
# 需要检查确认以下配置
由于此时的python已经指向python3,所以要改为明确指向python2
#!/usr/bin/python2
这样,修改后的yum依然可以调用python2.7的python,在使用yum安装软件时就不会报错了
另外就是,CentOS7还有另外一个文件需要修改
[root@localhost bin]# vi /usr/libexec/urlgrabber-ext-down
检查确认以下配置:
改为
安装一个软件试试:[root@localhost bin]# yum -y install vim
最新文章
- 【java】之 apache commons-codec 与Apache Digest demo实例,支持md5 sha1 base64 hmac urlencode
- iOS开发 - OC - PCH文件使用
- Memcached服务介绍及安装指南
- HDU 5120 A Curious Matt(2014北京赛区现场赛A题 简单模拟)
- loadrunner中变量和参数之间的转化实例
- Windows 10 x64 安装 Visual Basic 6.0 SP6
- SQL注入攻击和防御
- Upgrade Bioconductor
- HDU-4974 A simple water problem
- scala学习笔记——类和对象
- SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <;0.5MB MODEL SIZE
- eclipse svn2.0.0插件 手动安装方法
- 使用ownCloud在Linux安装你的个人云服务
- 第十五节,基本数据类型,元组tuple
- PYTHON实现算术表达式构造二叉树
- springboot创建错误
- pycharm 下使用tensorflow 之环境配置
- DevOps - CI - 持续集成(Continuous Integration)
- 2017第十三届湖南省省赛B - Simplified Blackjack CSU - 1998
- 微信小程序 - 上拉加载更多组件
热门文章
- formData详细使用教程
- Django 连接 MySQL 数据库及常见报错解决
- MySQL导入数据报错Got a packet bigger than‘max_allowed_packet’bytes错误的解决方法
- Java集合学习(5):LinkedHashMap
- AR-运行自动开票主程序报错
- centos 修改默认启动内核,及删除无用内核
- Httpd服务入门知识-正向代理和反向代理
- saas系统多租户数据隔离的实现(一)数据隔离方案
- python中requests库get方法带参数请求
- Visual Studio 调试 ---- 系列文章