CentOS6的python2.6升级到python2.7以上版本

前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本)

  pip安装也会弹出响应警告。安装过程中遇到各种各样的问题,在众里寻他千百度情况下,通过一大堆错误的搜索,终于把python版本给升级了。

  但这个版本升级不是完全的替换,只是让我们新版本的python可以用pip正常安装我们需要的第三方模块。

  CentOS7默认的python版本是2.7.5所以,就以这个版本为例,如果想要将python升级到python3.x应该也是相同原理

先查看python版本
1、命令行输入python(如果python版本是2.7以上则跳过下面步骤)
    
    升级python2.6--》python2.7以上版本
        
    使用yum安装wget工具(存在则跳过)
        yum install wget
        将下载文件统一下载到home目录下
        cd /home
        下载和编译python2.7.5
        下载时候可以自己到官网找自己想要的2.7以上版本官网地址:www.python.org/ftp/python
        wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz  
        解压缩文件
        tar -zxvf Python-2.7.5.tgz   (z是压缩格式,x为解压,v为显示过程,f指定备份文件)
        进入解压后的文件
        cd Python-2.7.5 
        检测是否有编译环境如gcc,配置安装路径,装在Python27目录下
        ./configure --prefix=/usr/local/Python27
            在这里可能会报错没有编译环境
            安装编译集成包
            yum groupinstall "Development tools"
            重新检查,和设置安装路径
            ./configure --prefix=/usr/local/Python27
        make编译源文件
        make

        安装编译后的文件
        make install
    安装完成,python就会被安装到/usr/local/Python27目录下面的,然后我们替换系统自带的python2.6
      先备份原版python
      mv /usr/bin/python /usr/bin/python.bak
        建立python2.7.5指向系统/usr/bin/的软连接(也就想当与windows的快捷方式)让系统使用新版的python
        ln -s /usr/local/Python27/bin/python2.7 /usr/bin/python
    到这里我们输入python就会在命令行显示我们新版的python2.7.5
    
    但安装完后我们python2.7.5的模块还是空了,连setuptools工具都没有,pip也没有,我们yum安装功能也用不了
        先解决yum问题,输入下面命令查看旧版python的全名应该会有一个python2.6
            ls /usr/bin |grep python
            编辑yum的脚本文件
            vi /usr/bin/yum
            把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.6就是把旧版本python作为yum的执行环境,保存退出后yum安装即可正常运行。
        setuptools模块安装到新版python2.7目录lib/site-packages/下
            下载setuptools官网地址:https://pypi.python.org/pypi/setuptools 
            好像只有setuptools-38.6.0-py2.py3-none-any.whl (md5)和setuptools-38.6.0.zip (md5)两种包
            官方推荐使用.whl包,但还不知道怎么安装,
            直接下载zip包(2018年3月16号下载)
                cd /home
                wget https://pypi.python.org/packages/95/b9/7c61dcfa6953271f567a8db96f110cd8cf75e13a84c1d293649d584d2d39/setuptools-38.6.0.zip
            解压zip包
                unzip setuptools-38.6.0.zip
            进入解压目录
                cd setuptools-38.6.0
            使用新版本的python安装
                python setup.py install
            在这里会报错,Compression requires the (missing) zlib module。缺少zlib模块
            先安装缺少的模块 
                yum install zlib 
                yum install zlib-devel 
            将python2.7.5重新进行编译安装
                cd /home/Python-2.7.5
            编译,如果有报错,先跳过,直接下一步
                make
            安装
                make install
            进入到setuptools-38.6.0目录
                cd /home/setuptools-38.6.0
            再次安装,应该不会再报错了
                python setup.py install
        pip模块的安装
        同上,官网地址https://pypi.python.org/pypi/pip ,下载压缩包
        wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
        tar -zxvf pip-9.0.1.tar.gz
        cd pip-9.0.1
        由于pip安装包依赖于setuptools模块,所以可以直接安装
        python setup.py install
        
        到这里,就完成的版本的基本升级。
        后面就可以通过pip进行软件安装
2、pip版本的升级,由于替换的新版本python,安装pip可能不是最新版,先进行pip的升级
pip install --upgrade pip

接下来可以测试下pip是否更新成功

查看pip版本

pip --version

上一篇:linux-Centos7-安装nginx


下一篇:linux下安装nginx,并且配置ssl证书,以及可能在编译时会产生的错误解决方式