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 socket 超时设置 errno 10054
Jul 01 Python
Python中的闭包实例详解
Aug 29 Python
Python实现网站注册验证码生成类
Jun 08 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
pandas DataFrame 删除重复的行的实现方法
Jan 29 Python
使用python动态生成波形曲线的实现
Dec 04 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Windows下Anaconda安装、换源与更新的方法
Apr 17 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 Python
解决import tensorflow导致jupyter内核死亡的问题
Feb 06 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
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
php截取字符串函数分享
2015/02/02 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
python的绘图工具matplotlib使用实例
2014/07/03 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
关于Python-faker的函数效果一览
2019/11/28 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
python中return不返回值的问题解析
2020/07/22 Python
一个入门级python爬虫教程详解
2021/01/27 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
创联软件面试题笔试题
2012/10/07 面试题
资深生产主管自我评价
2013/09/22 职场文书
森林病虫害防治方案
2014/06/02 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
2014年少先队工作总结
2014/12/03 职场文书
校长个人总结
2015/03/03 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
导游词之唐山景点
2019/12/18 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis