SUSE 12 安装 python3.6

步骤(一定要按照下面给出的顺序安装,不要问我为什么,因为我踩的坑有土星那么大):

  安装 zlib-1.2.11.tar.gz

      下载地址:https://files.cnblogs.com/files/SBJBA/zlib-1.2.11.tar.gz

      tar -xzvf zlib-1.2.11.tar.gz

      ./configure

      make

      make install

  安装 readline-devel

      下载地址:https://files.cnblogs.com/files/SBJBA/readline-6.2.4.1.tar.gz

      tar -xzvf readline-6.2.4.1.tar.gz

      ./configure

      make

      make install

  安装 sqlite3

      下载地址:https://files.cnblogs.com/files/SBJBA/sqlite-autoconf-3070500.tar.gz

      tar -xzvf sqlite-autoconf-3070500.tar.gz

      ./configure

      make

      make install

  安装 Python-3.6.8.tgz

      tar zxvf Python-3.6.8.tgz

      mkdir /usr/local/python36

      ./configure --prefix=/usr/local/python36 --enable-loadable-sqlite-extensions

      make

      make install

    添加环境变量

      在 /etc/profile 文件中追加 export PATH=/usr/local/python36/bin:$PATH

      source /etc/profile

如果不安照我上面的顺序安装,就有可能出现下面这样的坑,解决方法时按照我上面的顺序再来一遍就好了

  坑1:

    zipimport.ZipImportError: can't decompress data; zlib not availablen
    Makefile:1079: recipe for target 'install' failed
    make: *** [install] Error 1
    如果直接安装python包,就会出现这个错误,所以需要先安装zlib包,再安装python

  坑2:

    出现import readline ImportError: No module named readline 错误,并且tab,上下左右方向键等不起作用,反而输出^D等乱码

    原因就是没有安装 readline-devel,

    但是,不要以为没有 readline-devel,那安装一个 readline-devel 就完事了,你需要安装完了 readline-devel 后,重新安装一下python,否则,就出现下面坑3的错误

  坑3:

    *** Error in `python3': double free or corruption (out): 0x00007f15dbfb4560 ***

    先安装python,在安装  readline-devel 包,在交互模式下,不停按回车健,就会出现这个错误,如果出现,就按照我上面的顺序,重新来一遍就好

  坑4:

    ModuleNotFoundError: No module named '_sqlite3'

    使用 python 的时候发现没有 _sqlite3 模块,还需要在Linux上安装 sqlite3,在重新编译安装 python

  坑5:

    安装的时候尝试将 zlib, readline, sqlite 安装到指定目录,比如:/usr/local/readline-6.2 目录,但是后续安装 python 的时候会报错,使 python 无法正确安装,

  所以,直接使用 ./configure 安装就好,不要指定目录了

原文地址:https://www.cnblogs.com/SBJBA/p/11406752.html