升级python版本的时候千万不能卸载python 2.6,再安装python2.7,这样会有无穷无尽的麻烦,保守的方式

是直接安装python2.7的源码包,也就是python两个版本共存。(因为Centos里面有很多程序是依赖着python,

所有最好不要尝试去卸载python2.6)。

安装python需要用到gcc工具,首先查看gcc是否安装

# gcc -v

如果未安装则使用yum命令安装

# yum -y install gcc

下载最新安装python包

# wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tgz

解压包

# tar -xzvf Python-2.7.10.tgz

编译安装

# cd Python-2.7.10

# ./configure --prefix=/usr/local/python2.7

# make && make install

(
注:如果想用最新的get-pip方式安装pip, 在安装python前先用yum安装依赖包,不然会提示如下错误,
zipimport.ZipImportError: can't decompress data; zlib not available
cannot import name HTTPSHandler
# yum install zlib-devel  or  yum install zlibc zlib1g-dev 
# yum install openssl openssl-devel  or openssl*
***让python支持zlib包,还需要在配置(./configure)之后修改Modules/Setup文件,
***# sudo vi Modules/Setup  // 找到#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz这行代码(460左右),删除前面的“#”然后再进行编译(make)、安装(make install)

***经测试提前安装好zlib-devel后,无需修改安装文件,也可正常安装get-pip.py
)

建立软连接,使系统默认的python指向python2.7

正常情况下即使python2.7安装成功后,系统默认指向的python仍然是2.6.6版本

如何实现将系统默认的python指向到2.7版本呢?

# mv /usr/bin/python /usr/bin/python.bak

# ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python  # 添加软连接

如果是默认安装路径则使用下面命令

# ln -s /usr/local/bin/python2.7 /usr/bin/python

检验python指向是否成功

# python -v

注意以后安装的python工具包例如easy_install,pip等,都会安装在/usr/local/python2.7/bin 目录下

要想直接使用这些命令还需要把/usr/local/python2.7/bin添加到$PATH变量中

1、编辑/etc/profile文件(永久生效)

找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL这行上面加入

PATH=$PATH:/usr/local/python2.7/bin

重新初始化文件,使文件立即生效

source /etc/profile or . /etc/profile

2、在用户目录下的~/.bash_profile文件中增加变量,对单一用户生效(永久的)

3、在shell的命令行下直接使用[export PATH=$PATH:/usr/local/python2.7/bin]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了(临时的)

修复不能正常工作的yum,如果有使用yum的话会发现出错,这是因为yum 依赖2.6.6而现在默认的 Python 版本是2.7.10。

# vi /usr/bin/yum

将首行显示的 !#/usr/bin/python 修改为 !#/usr/bin/python2.6

linux python版本升级的更多相关文章

  1. python版本升级及pip部署方法

    Python版本升级 CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本.由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装. 1.下载Pyt ...

  2. centos python版本升级到3.x

    Linux(CentOS)下将Python的版本升级为3.6.2的方法 1.检查确认系统的相关信息 查看内核版本[root@zstest1 ~]# cat /etc/redhat-release Ce ...

  3. kali linux Python开发环境初始化

    kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...

  4. python 版本升级

    python 版本升级 升级python 查看python的版本 python -V Python 2.6.6 下载新版本 wget https://www.python.org/ftp/python ...

  5. linux python 安装 nose lapack atlas numpy scipy

    linux python 安装 nose lapack atlas numpy scipy --http://lib.csdn.net/article/python/1262 作者:maple1149 ...

  6. Xshell 连接centOS虚拟机、centOS内置python版本升级

    Xshell 连接虚拟机 前置条件:VMware Workstation 12.5.1.Xshell 5 .  centOS 6.6 1.打开虚拟机,输入用户名和密码: 2.输出命令:ifconfig ...

  7. 【python】python版本升级,从2.6.6升级到2.7.13

    centos6.5系统自带了2.6.6版本的python,有时候为了项目上的需要,需要将python版本升级到2.7.13,下面介绍了如何进行升级. 说明:python从2.6升级到2.7会引发很多问 ...

  8. linux的python版本升级

    可利用Linux自带下载工具wget下载,如下所示:     # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.13.tgz 下载完成后 ...

  9. LINUX 中 python 版本升级

    首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: 1 # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tg ...

随机推荐

  1. /bin/dd if=/path/to/source-file of=/path/to/backup-file

    [root@ok virhost]# qemu-img info 05t.img image: 05t.img file format: raw virtual size: 10G (10737418 ...

  2. ***mysql中经度纬度字段用什么存储(关于mysql的float和decimal区别)

    float,decimal精确度比较   float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的, 用于定义货币要求精确 ...

  3. AngularJS深入(5)——provider

    太精彩,不得不全文引用. 到这个层次,可能才敢说自己懂了吧... http://syaning.com/2015/07/21/dive-into-angular-5/ 在使用AngularJS的时候, ...

  4. C调Lua

    转自:http://foredoomed.org/blog/2013/12/07/integrate-c-with-lua/ 我们在用C写程序的时候,很多情况下需要用到List,Map等集合,但是C是 ...

  5. 我对java反射机制的理解

    我们平常怎么用一个使用类,怎么使用类的方法?其实就是创建一个对象,并且通过这个对象调用这个方法.不过这有一个问题,就是这个对象的载体就和这个对象产生了耦合,怎么降低两者间的耦合呢?java的反射机制就 ...

  6. Android应用开发--MP3音乐播放器代码实现(一)

    需求1:将内存卡中的MP3音乐读取出来并显示到列表当中 1.   从数据库中查询所有音乐数据,保存到List集合当中,List当中存放的是Mp3Info对象 2.   迭代List集合,把每一个Mp3 ...

  7. CodeForces 304C

    E - E Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  8. PrintDocument 实践

    简单使用,直接上代码 1.设置打印页大小 和页边距 this.printDocument1.DefaultPageSettings = new System.Drawing.Printing.Page ...

  9. C++中inline这个玩意儿

    inline 说明这个函数是内联的,在编译过程中内联函数会直接被源代码替换,提高执行效率 如果类中的某个函数会被调用很多次或者放在循环中,那么建议将这个函数声明为内联,可以提高程序的运行效率

  10. [Algorithms(Princeton)] Week1 - Percolation

    public class Percolation { private boolean[] openSites; private int gridN; private WeightedQuickUnio ...