1. 程式人生 > >linux上面Python3.6安裝sqlite3的終極解決辦法

linux上面Python3.6安裝sqlite3的終極解決辦法

報錯

~/work/soft/Python-3.6.2# python  
Python 3.6.2 (default, Jan 21 2018, 10:08:49)   
[GCC 4.8.4] on linux  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import sqlite3  
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
  File "/usr/local/lib/python3.6/sqlite3/__init__.py"
, line 23, in <module> from sqlite3.dbapi2 import * File "/usr/local/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module> from _sqlite3 import * ModuleNotFoundError: No module named '_sqlite3'針對

安裝sqlite3包

# wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate
# tar zxvf sqlite-autoconf-3170000.tar.gz # cd sqlite-autoconf-3170000 # ./configure --prefix=/usr/local/sqlite3 --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1"

對python3進行重新編譯

# cd Python-3.6.2
# LD_RUN_PATH=/usr/local/sqlite3/lib ./configure LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
# LD_RUN_PATH=/usr/local/sqlite3/lib make # LD_RUN_PATH=/usr/local/sqlite3/lib sudo make install