步骤(一定要按照下面给出的顺序安装,不要问我为什么,因为我踩的坑有土星那么大):
安装 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 安装就好,不要指定目录了