步驟(一定要按照下面給出的順序安裝,不要問我為什么,因為我踩的坑有土星那么大):
安裝 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 安裝就好,不要指定目錄了