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用fork来创建子进程注意事项
Jul 03 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
详解numpy矩阵的创建与数据类型
Oct 18 Python
基于python3抓取pinpoint应用信息入库
Jan 08 Python
python实现处理mysql结果输出方式
Apr 09 Python
简单了解Python多态与属性运行原理
Jun 15 Python
Python如何使用27行代码绘制星星图
Jul 20 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
Pandas对每个分组应用apply函数的实现
Dec 13 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python计算列表元素与乘积详情
Aug 05 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
自己动手做一个SQL解释器
2006/10/09 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
PDO::inTransaction讲解
2019/01/28 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
js类的静态属性和实例属性的理解
2009/10/01 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
jQuery实现跨域
2015/02/03 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
使用canvas进行图像编辑的实例
2017/08/29 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
vue实现弹幕功能
2019/10/25 Javascript
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
详细介绍Python的鸭子类型
2016/09/12 Python
简单介绍python封装的基本知识
2019/08/10 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
附答案的Java面试题
2012/11/19 面试题
在C#中如何实现多态
2014/07/02 面试题
日语求职信范文
2013/12/17 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
简历中的自我评价范文
2014/02/05 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
大型演出策划方案
2014/05/28 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
2015年暑期见闻
2015/07/14 职场文书