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 相关文章推荐
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
详解Python文本操作相关模块
Jun 22 Python
python之消除前缀重命名的方法
Oct 21 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
Pytorch中.new()的作用详解
Feb 18 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
python opencv角点检测连线功能的实现代码
Nov 24 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与已存在的Java应用程序集成
2006/10/09 PHP
smarty section简介与用法分析
2008/10/03 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
js基于cookie记录来宾姓名的方法
2016/07/19 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
pycharm安装图文教程
2017/05/02 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
SHEIN台湾:购买最新流行女装服饰
2019/05/18 全球购物
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
五心教育心得体会
2014/09/04 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
三峡大坝导游词
2015/01/31 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书