CentOS中升级Python版本的方法详解


Posted in Python onJuly 10, 2017

CentOS升级Python2.6到Pythno2.7

最近在Linode上弄Python、出现ValueError: zero length field name in format这样的错误;

翻看文档之后发现只要升级Python到2.7以上版本就能解决问题。

用 Pythno -V 看了一下目前Centos上的版本是2.6的。

CentOS6系列里面默认安装的都是Python2.6的版本

所以我们可能会出现这样的错误

ValueError: zero length field name in format

这个时候我们就需要把Pythno2.6升级到Python2.7以上的版本

升级Python

系统默认安装的Python是2.6.x的,我们需要升级到Python2.7,用wget命令从官方下载源文件,然后解压进行编译

wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz
unxz Python-2.7.13.tar.xz
tar -vxf Python-2.7.13.tar

执行完以上命令会解压得到Python-2.7.13这个文件夹,进入该目录并执行以下命令进行配置

./configure --enable-shared --enable-loadable-sqlite-extensions --with-zlib

执行

vim ./Modules/Setup

找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz去掉注释并保存,然后进行编译和安装

make && make install

安装好Python2.7之后我们需要先把Python2.6做个备份

执行以下命令,对Python2.6进行备份,然后为Python2.7创建软链接、把Python2.7作为默认Python来用

mv /usr/bin/python /usr/bin/python2.6
ln -s /usr/local/bin/python2.7 /usr/bin/python

然后编辑/usr/bin/yum,将第一行的#!/usr/bin/python修改成#!/usr/bin/python2.6.6

现在执行yum命令已经不会出现之前的错误信息了。

我们执行python -V查看版本信息,如果出现错误

error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

编辑配置文件

vim /etc/ld.so.conf

查看是否有 /usr/local/lib,没有的话请添加一行、保存退出;

然后刷新配置

/sbin/ldconfig 
/sbin/ldconfig -v

PS:如果你原来在python2.6环境中安装了Pip的话、是需要重新安装

PS2:如果你原来用pip install xxx 安装了第三方库的话也是需要重新安装的

Python 相关文章推荐
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
浅谈python中的getattr函数 hasattr函数
Jun 14 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
pandas多级分组实现排序的方法
Apr 20 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
Python实现画图软件功能方法详解
Jul 28 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 #Python
Python 实现数据库更新脚本的生成方法
Jul 09 #Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 #Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 #Python
python3 shelve模块的详解
Jul 08 #Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 #Python
Python开发微信公众平台的方法详解【基于weixin-knife】
Jul 08 #Python
You might like
php数组合并的二种方法
2014/03/21 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
javascript获取URL参数与参数值的示例代码
2013/12/20 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
JavaScript"模拟事件"的注意要点详解
2019/02/13 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python实现接口并发测试脚本
2019/06/25 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
postman传递当前时间戳实例详解
2019/09/14 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
override和overload的区别
2016/03/09 面试题
实习护理工作自我评价
2013/09/25 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
党校毕业心得体会
2014/09/13 职场文书
老公写给老婆的检讨书
2015/05/06 职场文书
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS