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 相关文章推荐
Python3.x中自定义比较函数
Apr 24 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
django中的图片验证码功能
Sep 18 Python
Django密码存储策略分析
Jan 09 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
详解在Python中使用Torchmoji将文本转换为表情符号
Jul 27 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
python中使用asyncio实现异步IO实例分析
Feb 26 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中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python中dir函数用法分析
2015/04/17 Python
python基于phantomjs实现导入图片
2016/05/13 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
python使用建议技巧分享(三)
2020/08/18 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
美国婴童服装市场上的领先品牌:Carter’s
2018/02/08 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
微笑服务演讲稿
2014/05/13 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
2014年车间工作总结
2014/11/21 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python