美文网首页
CentOS升级python2到python3

CentOS升级python2到python3

作者: hoxis | 来源:发表于2017-12-18 14:22 被阅读38次

    CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。

    下载新版本python

    在python官网下载最新的源码包:https://www.python.org/downloads/source/

    可以直接下载然后上传到服务器,也可以通过wget进行下载:

    wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
    
    wget下载新版本pythonwget下载新版本python

    安装准备-提前排雷

    安装gcc相关

    yum install make gcc gcc-c++
    

    因为是源码编译安装,需要gcc相关组件的支持,否则在编译时会报如下错误。

    执行./configure时,报错:

    错误截图错误截图

    说明没有安装合适的编译器。这时,需要安装/升级gcc及其它依赖包。然后重新执行。

    安装zlib相关

    yum -y install zlib*
    

    make阶段,需要zlib组件。否则会报zlib not available的异常。

    zlib not availablezlib not available

    从错误信息分析,就是缺少了zlib的解压缩类库,安装即可。然后重新编译安装python。

    安装readline-devel

    yum install readline-devel
    

    否则会出现安装完成后Python终端无法使用退格,上下左右。需要安装readline-devel后重新编译安装Python。

    无法使用退格等无法使用退格等

    安装配置

    编译 安装

    tar zxvf Python-3.6.3.tgz
    cd Python-3.6.3
    ./configure
    make
    make insatll
    

    验证

    安装成功以后,就可以查看Python的版本:

    验证Python版本验证Python版本

    一个是旧版本 2.x,另外一个是新版本 3.x。
    注意:在/usr/local/bin/下有一个python3的链接,指向bin目录下的python 3.6

    安装后的配置

    设置 3.x 为默认版本

    查看 Python 的路径,在/usr/bin下面。可以看到python软链接的是python 2.7,所以,执行python就相当于执行python 2.7

    [root@centos7 bin]# ls -al /usr/bin | grep python
    lrwxrwxrwx.  1 root root          7 8月  17 18:01 python -> python2
    lrwxrwxrwx.  1 root root          9 8月  17 18:01 python2 -> python2.7
    -rwxr-xr-x.  1 root root       7136 11月  6 2016 python2.7
    

    备份python2

    mv /usr/bin/python /usr/bin/python2.7.bak
    

    修改软连接

    ln -s /usr/local/bin/python3.6 /usr/bin/python
    

    这时再查看Python版本:

    [root@centos7 bin]# python -V
    Python 3.6.3
    

    配置 yum

    升级Python之后,由于将默认的python指向了python3yum不能正常使用,需要编辑 yum的配置文件,改为使用python2.7

    [root@centos7 bin]# vim /usr/bin/yum
    
    #!/usr/bin/python2.7
    import sys
    try:
        import yum
    
    

    同时修改/usr/libexec/urlgrabber-ext-down中的配置。

    [root@centos7 bin]# vim /usr/libexec/urlgrabber-ext-down
    
    #! /usr/bin/python2.7
    #  A very simple external downloader
    #  Copyright 2011-2012 Zdenek Pavlas
    

    如果觉得有用,欢迎关注我的微信,有问题可以直接交流:

    你的关注是对我最大的鼓励!你的关注是对我最大的鼓励!

    参考:
    http://blog.csdn.net/liang19890820/article/details/51079633
    https://www.cnblogs.com/uangyy/p/5980998.html

    相关文章

      网友评论

          本文标题:CentOS升级python2到python3

          本文链接:https://www.haomeiwen.com/subject/oxhmwxtx.html