CentOS 6 系统默认 Python 版本是:2.6.6 平时在使用中遇到很多的库要求是 2.7.x 版本的库,比如使用 ConfigParser 库,在 2.6 版本库就不支持没有 value 值的配置项,需要升级到 2.7 以上的库才行,这次就尝试升级一下 Python 到 2.7.x 版本,记录于此。

一、升级 Python 2.7.10 版本

1. 准备安装包,系统是最小化安装

# 下载安装依赖的相关包
[root@vip ~]# yum install vim gcc make wget -y
[root@vip ~]# yum install openssl-devel zlib-devel readline-devel sqlite-devel -y
# 下载
[root@vip ~]# cd /usr/local/src
[root@vip ~]# wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
# 解压
[root@vip ~]# tar -zxvf Python-2.7..tgz
[root@vip ~]# ls
Python-2.7. Python-2.7..tgz

2. 编译配置安装

[root@vip ~]# cd Python-2.7.
[root@vip Python-2.7.]# ./configure --enable-shared --enable-loadable-sqlite-extensions \
--prefix=/usr/local/python27 --with-zlib --with-ssl
[root@vip Python-2.7.]# vim ./Modules/Setup # 找到下边这一行内容,去掉注释
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
[root@vip Python-2.7.]# make && make install

3. 查看 python 版本信息

[root@vip Python-2.7.]# python -V
Python 2.6.
# 版本依旧是 2.6.

4. 用 python2.7 替换旧版本

[root@vip Python-2.7.]# cd /usr/bin/
[root@vip bin]# ls python* -l # 旧 python 版本信息
-rwxr-xr-x. root root 2月 python
lrwxrwxrwx. root root 10月 : python2 -> python
-rwxr-xr-x. root root 2月 python2.
[root@vip bin]# mv /usr/bin/python /usr/bin/python2.6.6
[root@vip bin]# ln -s /usr/local/python27/bin/python2. /usr/bin/python
[root@vip bin]# ls python* -l
lrwxrwxrwx. root root 10月 : python -> /usr/local/python27/bin/python2.
lrwxrwxrwx. root root 10月 : python2 -> python
-rwxr-xr-x. root root 2月 python2.
-rwxr-xr-x. root root 2月 python2.6.6

5. 重新验证 Python 版本信息

[root@vip bin]# python -V
Python 2.7.

可以看到,系统识别的 python 版本已经是 python 2.7.10

执行 python -V 遇到的问题:

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
# 原因:linux系统默认没有把/usr/local/python27/lib路径加入动态库搜索路径

解决:

[root@vip ~]# vim /etc/ld.so.conf
# 添加如下一行内容
/usr/local/python27/lib
[root@vip ~]# ldconfig # 使新添加的路径生效

二、解决 yum 兼容性问题

因为 yum 是不兼容 Python 2.7 的,所以 yum 不能正常工作,我们需要指定 yum 的 Python 为 2.6。

1. 升级 python 后 yum 出现的问题

[root@vip bin]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
... ... ... ...

2. 编辑 yum 配置文件

[root@vip bin]# vim /usr/bin/yum
#!/usr/bin/python
# 第一行修改为 python2.6.6
#!/usr/bin/python2.6.6

3. 验证 yum 问题解决

[root@vip bin]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
... ... ... ...

三、升级 python 后,安装 pip 工具

1. 下载安装

[root@vip ~]# wget https://bootstrap.pypa.io/get-pip.py
[root@vip ~]# python get-pip.py

2. 设置软连接

[root@vip ~]# ln -s /usr/local/python27/bin/pip2. /usr/bin/pip

四、安装 ipython

[root@vip ~]# pip install ipython==1.2.
[root@vip ~]# ln -s /usr/local/python27/bin/ipython /usr/bin/ipython

参考链接:
http://www.jianshu.com/p/7d7c5cf267f4
http://xitongjiagoushi.blog.51cto.com/9975742/1681983/

---------- 本文结束 ----------

升级 python 2.6.6 系统到 2.7.10 版本的更多相关文章

  1. Linux系统下升级Python版本步骤(suse系统)

    Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493

  2. linux centos系统下升级python版本

    本文参考资料:https://www.cnblogs.com/leon-zyl/p/8422699.html,https://blog.csdn.net/tpc1990519/article/deta ...

  3. CentOS6 系统下升级python后yum命令使用时报错

    CentOS6 系统下升级python后yum命令使用时报错,如下: [root@xxxxxxx]#yumFile"/usr/bin/yum",line30exceptKeyboa ...

  4. python环境搭建-Linux系统下python2.6.6升级python3.5.2步骤

    [root@template ~]# python -v # /usr/lib64/python2.6/encodings/utf_8.pyc matches /usr/lib64/python2.6 ...

  5. python环境搭建-Linux系统下python2.7升级python3.5.2步骤

    首先Python 查看版本 , 在Linux下特别注意权限问题,创建目录时候切记给予权限 如果是 ubnutu 请使用首先切换到 sudo su , 否则 make install 会出现问题.. 升 ...

  6. Linux 下编译升级 Python

    一.Centos下升级python3.4.3 1.下载安装 wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz wget http ...

  7. centos6.3环境下升级python及MySQLdb的安装

    近来突然想鼓捣下linux下的python,看下Python数据库方面的东西,想着在centos下测试下.然而安装的过程有很多坑.下面对整个流程进行下记录 1.python基本库的安装 在安装pyth ...

  8. CentOS 6.5升级Python和安装IPython

    <转自:http://www.noanylove.com/2014/10/centos-6-5-sheng-ji-python-he-an-zhuang-ipython/>自己常用.以做备 ...

  9. Linux下升级python版本

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

随机推荐

  1. 【PRINCE2是什么】PRINCE2认证之七大主题(1)

    进入第一个主题,PRINCE2商业论证:PRINCE2指出,商业论证就是进行判断是否值得对项目进行投资,值不值的问题.PRINCE2的商业论证有四个 在项目开始时,开发商业论证.在整个项目生命周期中, ...

  2. 最近做了了解java基础的一些题,整理自己用到的一些函数和了解的一些名词

    [程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2, ...

  3. WCF学习之旅—WCF服务的WAS寄宿(十二)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...

  4. GitHub实战系列~3.提交github的时候过滤某些文件 2015-12-10

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  5. MongoDB高级查询详细

    前言 前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦.如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查 前 ...

  6. 《JS设计模式笔记》 5,适配器模式

    //适配器模式的作用就像一个转接口. jQuery("#"+id); $id=function (id) { return jQuery("#"+id)[0]; ...

  7. JavaScript动画-模拟拖拽

    模拟拖拽的原理: x1等于div.offsetLeft y1等于div.offsetTop x2等于ev.clientX(ev表示event事件) y2等于ev.clientY 当我们在方块上按下鼠标 ...

  8. linux进程间通信之一:无名管道

    无名管道是linux中管道通信的一种原始方法,有以下特征: 1.单工通信模式,具有固定的读端和写端: 2.管道可以看成是一种特殊的文件,对于它的读写可以使用普通的read(),write()等文件IO ...

  9. Python爬虫小白入门(一)写在前面

    一.前言 你是不是在为想收集数据而不知道如何收集而着急? 你是不是在为想学习爬虫而找不到一个专门为小白写的教程而烦恼? Bingo! 你没有看错,这就是专门面向小白学习爬虫而写的!我会采用实例的方式, ...

  10. OSGi 基本原理

    定义 OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统. 这个框架实现了一个优雅.完整和动态地组价模型.应用程序(称为bundle)无序重新引 ...