• Linux 升级 Python 至 3.x


    查看 Python 版本号

    当 Linux 上安装 Python 后(默认安装),只需要输入简单的命令,就可以查看 Python 的版本号:

    1. # python -V
    2. Python 2.7.5

    或者是:

    1. # python --version
    2. Python 2.7.5

     

    下载新版本

    进入 Python下载页面,选择需要的版本。

    https://www.python.org/ftp/python/

    1. wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

     

    解压缩

    下载完成之后,进行解压缩:

    1. # tar -zxvf Python-3.5.2.tgz

     

    安装配置

    进入解压缩后的目录,安装配置:

    1. # cd Python-3.5.2/
    2. # ./configure

     

    执行 ./configure 时,如果报错:

    1. configure: error: no acceptable C compiler found in $PATH

     

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

    1. # yum install make gcc gcc-c++

    完成之后,重新执行:

    1. # ./configure

     

    编译 & 安装

    配置完成之后,就可以编译了:

    1. # make

    完成后,安装:

    1. # make install

     

    验证

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

    1. # python -V
    2. Python 2.7.5
    3. # python3 -V
    4. Python 3.5.2

     

    一个是旧版本 2.x,另外一个是新版本 3.x。

    注意:在 /usr/local/bin/ 下有一个 python3 的链接,指向 bin 目录下的 python 3.5

    设置 3.x 为默认版本

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

    1. # ls -al /usr/bin | grep python
    2. -rwxr-xr-x. 1 root root 11216 12月 1 2015 abrt-action-analyze-python
    3. lrwxrwxrwx. 1 root root 7 8月 30 12:11 python -> python2
    4. lrwxrwxrwx. 1 root root 9 8月 30 12:11 python2 -> python2.7
    5. -rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7

     

    将原来 python 的软链接重命名:

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

    将 python 链接至 python3:

    1. # ln -s /usr/local/bin/python3 /usr/bin/python

    这时,再查看 Python 的版本:

    1. # python -V
    2. Python 3.5.2

     

    配置 yum

    升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:

    1. # vi /usr/bin/yum

    同时修改:

    1. # vi /usr/libexec/urlgrabber-ext-down

    将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。

     

    就算是咸鱼,也要做最咸的那条。
  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/pannnnnn/p/8658890.html
Copyright © 2020-2023  润新知