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 相关文章推荐
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
python生成器表达式和列表解析
Mar 10 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
python 进程的几种创建方式详解
Aug 29 Python
Python原始套接字编程实例解析
Jan 29 Python
Python包和模块的分发详细介绍
Jun 19 Python
Python实现GIF图倒放
Jul 16 Python
matplotlib subplot绘制多个子图的方法示例
Jul 28 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
用PHP读取IMAP邮件
2006/10/09 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
php数据序列化测试实例详解
2017/08/12 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
js点击事件链接的问题解决
2014/04/25 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
Python自动登录126邮箱的方法
2015/07/10 Python
简单了解Django模板的使用
2017/12/20 Python
对Python2与Python3中__bool__方法的差异详解
2018/11/01 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
软件工程师面试题
2012/06/25 面试题
介绍一下Python中webbrowser的用法
2013/05/07 面试题
区域总监的岗位职责
2013/11/21 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
React列表栏及购物车组件使用详解
2021/06/28 Javascript