CentOS 7下Python 2.7升级至Python3.6.1的实战教程


Posted in Python onJuly 06, 2017

前言

大家应该都知道,Centos是目前最为流行的Linux服务器系统,其默认的Python 2.x,但是根据python社区的规划,在不久之后,整个社区将向Python3迁移,且将不在支持Python2, 那该如何平滑迁移至Python3 呢?

1.  环境介绍

Centos 7,   当前的Python版本2.7.12

>> uname -a 

Linux AY131203102210033c39Z 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

>> cat /etc/os-release

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"

二、下载Python 3.x的安装包

默认linux的安装包只能是源码安装:

>> wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

由于xz结尾的文件,故可以使用如下命令来解压:

>> xz -d Python-3.6.1.tar.xz

>> tar xvf Python-3.6.1.tar

三、  编译并安装

>> mkdir /usr/local/python3

>> cd Python-3.6.1 #进入源码文件目录

>> sudo ./configure --prefix=/usr/local/python3 --enable-optimizations

CentOS 7下Python 2.7升级至Python3.6.1的实战教程    

>> sudo make # 此过程将持续较长的时间

CentOS 7下Python 2.7升级至Python3.6.1的实战教程    

四、 替换python

>> cd /usr/bin

  >> mv python python.bak

其中有python, python2.7, python2三个文件,其实都是指向python2.7的,这里将python备份

>> sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

 >> python -V

检查python的版本是否被正确替换掉了。

五、收尾替换工作

原则: 所有python相关的应用,如果为使用/usr/bin/python开头的脚本统统替换掉, 如果其只能在python2.7下执行,则替换为python2.7。

根据网路上的信息,相关的文件可能有如下, 具体情况视具体情况而定:

 a.  /usr/bin/yum

 b./usr/libexec/urlgrabber-ext-down

总结

过程比较简单,期待Centos7尽快升级到Python3.

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
举例讲解Python中装饰器的用法
Apr 27 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
Sep 25 Python
Python3爬楼梯算法示例
Mar 04 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
python如何绘制疫情图
Sep 16 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 #Python
Python如何快速实现分布式任务
Jul 06 #Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
Jul 06 #Python
Python标准库sched模块使用指南
Jul 06 #Python
用virtualenv建立多个Python独立虚拟开发环境
Jul 06 #Python
基于Python的关键字监控及告警
Jul 06 #Python
Python中装饰器兼容加括号和不加括号的写法详解
Jul 05 #Python
You might like
解析PHP工厂模式的好处
2013/06/18 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
ie 调试javascript的工具
2009/04/29 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
javascript数组去重3种方法的性能测试与比较
2013/03/26 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
Node.js DES加密的简单实现
2016/07/07 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
python redis 删除key脚本的实例
2019/02/19 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
青年创业培训欢迎词
2014/01/10 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
师德演讲稿范文
2014/05/06 职场文书
党员公开承诺书内容
2014/05/20 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书