• 超详细的 Linux CentOS 编译安装python3


    前言:

    安装完CentOS7后,执行#Python与#python -V,看到版本号是2.6,而且之前写的都是跑在python3.X上面的,3.X和2.X有很多不同,在这里我就不弊述两者之间的区别了新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的,比如yum。

    而且python的多版本是可以共存的,下面会教大家如何处理共存问题

    #python官方下载地址

    https://www.python.org/downloads/

    第1步:更新gcc,因为gcc版本太老会导致新版本python包编译不成功

    复制代码代码如下:

    #yum -y install gcc

    系统会自动下载并安装或更新,等它自己结束 

    注意这里可能会报错!主要是提示权限不够需要切换到root超级用户下才可以安装,如下图所示

    执行su命令切换用户,然后输入密码就可以了,忘记密码的请看另一篇博文

    #su

    第2步:下载Python-3.6.4软件包

    复制代码代码如下:
    #wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

    注意:按照上述命令下载的软件包会存放在你当前的工作目录下,wget命令是一个从网络上自动下载文件的自由工具
    说明:命令中的数字就是版本号,你也可以把3.6.4换成你需要的版本,截止至我撰稿时(2017年12月26日),最新可用版本是3.6.4,如上图所示

    查看当前目录下是否下载了我们需要的Python-3.6.4.tar.xz

    #ls

     

    第3步:解压已下载的二进制包并编译安装

    解压文件
    #xz Python-3.6.4.tar.xz    # 如果这里下载的是xz文件所以要先解压一层才可以用
    #tar -xvzf Python-3.3.0.tgz
     进入目录:
    #cd Python-3.6.4 
    配置安装目录,其他选项一般默认即可:
    #./configure  --prefix=/usr/python     #不配置也可以,直接./configure命令
    开始编译安装:
    #make         #编译的过程会比较慢,等一下就好了
    #make install    #这里可能会报错,原因是缺少依赖包,解决办法直接看底部
    #make clean 
    #make distclean 
    #python3 –V

    编译安装完毕以后,可以输入上面一行命令,查看版本 

    第4步:建立软连接指向到当前系统默认python命令的bin目录

      整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python

      系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7

      我们可以不用把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3

      这里建立软链接如下:

    $ ln -s /usr/python/bin/python3 /usr/bin/python3

      这样就建立好了,以后直接执行python3命令就可以调用python3了,另外如果仔细看python安装目录下的bin目录,实际上python3也是个软链接,链接到python3.5.1,这样多次链接也是为了多个版本的管理更加方便,

    问题一:

      就是python3交互式界面特别不好用,删除不能正常使用,必须按Ctrl+删除键才可以,上下键重复命令也无法使用,左右调整光标也无法使用,这样调试代码效率很低,原因是python3缺少readline这个依赖,默认使用pip3 install readline会提示找不到包,所以只能是手动安装了

      因为readline依赖于ncurses库,如果没有这个库,编译readline的时候会提示can not find -lncurses,如果在centos环境下可以执行下面命令安装:

    yum -y install ncurses ncurses-devel

      安装ncurses库之后,再安装readline,readline可以在pypi下载,地址:https://pypi.python.org/pypi/readline,这里一定要下载源码包,其余的只能用于python2,下载之后执行下面命令安装:

    tar -xvzf readline-6.2.4.1.tar.gz
    cd readline-6.2.4.1/
    python3 setup.py install

      这样执行完毕就为python3安装了readline,然后再进入交互式界面所有的操作都好用了

    问题二:

      第一次安装的时候会报错:can't decompress data; zlib not available

    解决办法:

      1、安装依赖zlib、zlib-devel 以及 ncurses ncurses-devel

    # yum -y install zlib zlib-devel

      2、重新编译安装Python

    # make install

    版权所有,以示正版!

    欢饮大家一起在下方讨论。

  • 相关阅读:
    python学习的第六天数据类型及内置方法part2
    作业5
    Python学习第五天基本数据类型及内部方法part1
    周作业
    作业
    python学习第四天控制流程if、while、for
    作业
    python学习第三天基本数据类型、格式化输入输出、运算符。流程控制
    从排序数组中删除重复项
    D3.js 比例尺
  • 原文地址:https://www.cnblogs.com/sunshine-H/p/8117968.html
Copyright © 2020-2023  润新知