一、升级 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.10.tgz
[root@vip ~]# ls
Python-2.7.10 Python-2.7.10.tgz

2. 编译配置安装

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

3. 查看 python 版本信息

[root@vip Python-2.7.10]# python -V
Python 2.6.6
# 版本依旧是 2.6.6

4. 用 python2.7 替换旧版本

[root@vip Python-2.7.10]# cd /usr/bin/
[root@vip bin]# ls python* -l # 旧 python 版本信息
-rwxr-xr-x. 2 root root 4864 2月 22 2013 python
lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python
-rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6
[root@vip bin]# mv /usr/bin/python /usr/bin/python2.6.6
[root@vip bin]# ln -s /usr/local/python27/bin/python2.7 /usr/bin/python
[root@vip bin]# ls python* -l
lrwxrwxrwx. 1 root root 33 10月 23 00:01 python -> /usr/local/python27/bin/python2.7
lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python
-rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6
-rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6.6

5. 重新验证 Python 版本信息

[root@vip bin]# python -V
Python 2.7.10

可以看到,系统识别的 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.7 /usr/bin/pip

四、安装 ipython

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

linux python2.6升级2.7的更多相关文章

  1. linux python2.x 升级python3.x

    Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如 ...

  2. Linux python2.4升级到2.7

    yum install gcc-c++  gcc -y mkdir /usr/local/python2.7tar zxvf Python-2.7.11.tgzcd Python-2.7.11/./c ...

  3. 在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)

    版本:v1.2   Crifan Li 摘要 本文主要介绍了如何在嵌入式Linux系统运行的时候,进行升级整个Linux系统,包括uboot,kernel和rootfs.以及简介Linux中的已有的通 ...

  4. Linux系统常用升级的基础包

    Linux系统常用升级的基础包 yum -y install lrzsz gcc gcc-c++ make flex autoconf automake vixie-cron libjpeg libj ...

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

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

  6. Python2.6升级Python2.7

    Python2.6升级2.7 由于Centos6系列自带的python版本为2.6.6,然而有很多应用需要依赖于python2.7来实现,所以有了这个升级的需求.升级原理很简单,无非就是下载.编译.安 ...

  7. Mac OS X10.9安装的Python2.7升级Python3.4步骤详解

    Mac OS X10.9安装的Python2.7升级Python3.4步骤详解 Mac OS X10.9默认带了Python2.7,不过现在Python3.4.0出来了,如果想使用最新版本,赶紧升级下 ...

  8. python2.7升级到python3后,用pip进行安装时报Fatal error in launcher:Unbale to create process using`""

    解决:python2.7升级到python3后,用pip进行安装时报Fatal error in launcher:Unbale to create process using`"" ...

  9. RedHat Enterprise Linux 5.8 升级openssl

    RedHat Enterprise Linux 5.8升级openssl,遇到以下问题,做下标记: 由于之前安装RedHat Enterprise Linux 5.8 时候只安装了服务器环境,没有安装 ...

随机推荐

  1. 【Python—待解惑的问题】

    疑问1: map()函数第一个参数接收函数,所以 dict.keys() 是函数?这个不是方法吗? map(dict.keys,s) s1.keys() == dict.keys(s1) 输入: Tr ...

  2. python中变量的命令规制及变量的赋值方式

    文章结构:              一.python中变量的命名规则             二.变量赋值的三种方式             三.python的垃圾回收机制 一.Python中变量的 ...

  3. python面试如何以相反顺序展示一个文件的内容?

    >>> for line in reversed(list(open('Today.txt'))): print(line.rstrip())containeritertools D ...

  4. hdu1158 Employment Planning(dp)

    题目传送门 Employment Planning Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  5. POJ 3020:Antenna Placement(无向二分图的最小路径覆盖)

    Antenna Placement Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6334   Accepted: 3125 ...

  6. 如何多个router 进行合并?

    有时间可能有多个人开发,如果在共用router, 势必会造成合并冲突,可以分开多个router.js ,然后进行合并 // router0.jsconst studyRouter = [ { path ...

  7. cygwin的用途

    cgywin简介 打开cygwin的官方网站(www.cygwin.com),一行英文非常醒目:Get that Linux feeling – on Windows! 简而言之,cygwin是一个在 ...

  8. 十、设计模式之代理(Proxy)模式

    什么是代理模式 代理模式是对象的结构模式,为其他对象提供一种对象以控制对这个对象的访问. 代理模式的结构图如下:(源自大话设计模式)   Subject:定义了RealSubject和Proxy的公共 ...

  9. shell巡检草拟

    #!/bin/bash phy_cpu=$(cat /proc/cpuinfo | grep "physical id"|sort | uniq | wc -l) logic_cp ...

  10. python 发送json数据操作实例分析 - python

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例讲述了python 发送json数据操作.分享给大家供大家参考,具体如下: # !/usr/bin/env py ...