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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
django轻松使用富文本编辑器CKEditor的方法
Mar 30 Python
Python探索之静态方法和类方法的区别详解
Oct 27 Python
Python程序员面试题 你必须提前准备!(答案及解析)
Jan 23 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
django框架cookie和session用法实例详解
Dec 10 Python
Python实现微信好友的数据分析
Dec 16 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 Python
快速了解Python开发环境Spyder
Jun 29 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
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php文件服务实现虚拟挂载其他目录示例
2014/04/17 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
PHP中16个高危函数整理
2019/09/19 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
PHP7 标准库修改
2021/03/09 PHP
JS event使用方法详解
2008/04/28 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
js实现控制文件拖拽并获取拖拽内容功能
2018/02/17 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
javascript实现评分功能
2020/06/24 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python制作小说爬虫实录
2017/08/14 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
python pandas生成时间列表
2019/06/29 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
python多进程重复加载的解决方式
2019/12/13 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
为什么要有struct关键字
2012/05/08 面试题
施工单位安全责任书
2014/07/24 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书