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实现冒泡,插入,选择排序简单实例
Aug 18 Python
python实现斐波那契递归函数的方法
Sep 08 Python
Python脚本实现集群检测和管理功能
Mar 06 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
python 将md5转为16字节的方法
May 29 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
Python操作json的方法实例分析
Dec 06 Python
python导入坐标点的具体操作
May 10 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python字符串替换re.sub()实例解析
Feb 09 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 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校验ISBN码的函数代码
2011/01/17 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
php生成HTML文件的类方法
2019/10/11 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
Javascript毫秒数用法实例
2015/02/05 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
python读写文件操作示例程序
2013/12/02 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
Python实现名片管理系统
2020/02/14 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
python如何调用百度识图api
2020/09/29 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
应届大专生自荐书
2014/06/16 职场文书
小学教师工作总结2015
2015/04/07 职场文书
ipad隐藏软件app图标方法
2022/04/19 数码科技