升级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. svn status 显示 ~xx

    “~” 版本控制下的项目与其它类型的项目重名

  2. 拷贝Java项目报错

    经常需要将一个项目,导出,然后发给同事,或者是自己用另一个Eclipse工具打开. 这时,导入项目后,就会出现各种各样的问题.大牛笔记:www.weixuehao.com 代码相同,环境不同,主要是修 ...

  3. Pyqt在QListWidget中添加右键菜单

    Pyqt 的资料奇少, 攻破难点之后, 就在这里记一下笔记. QListWidget 是继承 QWidget 的, 所以 QListWidget 是有右键菜单的, 从文档上可以找到 QWidget 上 ...

  4. JavaEE路径陷阱之getRealPath

    转自:http://blog.csdn.net/shendl/article/details/1427637   JavaEE路径陷阱之getRealPath   本文是<Java路径问题最终解 ...

  5. SURF算法与源码分析、上

    如果说SIFT算法中使用DOG对LOG进行了简化,提高了搜索特征点的速度,那么SURF算法则是对DoH的简化与近似.虽然SIFT算法已经被认为是最有效的,也是最常用的特征点提取的算法,但如果不借助于硬 ...

  6. Effective C++笔记:实现

    条款26:尽可能延后变量定义式的出现时间 博客地址:http://www.cnblogs.com/ronny/ 转载请注明出处! 有些对象,你可能过早的定义它,而在代码执行的过程中发生了导常,造成了开 ...

  7. http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

    http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

  8. iOS @try

    try{ //1:抛出异常的代码 //2:代码 }catch(){ //3:代码 //4:抛出异常 }finally{ //5:代码 } //6:代码要明确的一点是:不管try是否抛出异常,final ...

  9. UVA 10779 (最大流)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33631 题目大意:Bob有一些贴纸,他可以和别人交换,他可以把自己 ...

  10. SOLR (全文检索)

    SOLR (全文检索) http://sinykk.iteye.com/ 1.   什么是SOLR 官方网站 http://wiki.apache.org/solr http://wiki.apach ...