python3报错:No module named '_sqlite3'

1、编译安装sqlite-amalgamation

1
2
3
4
5
wget http://www.sqlite.org/sqlite-amalgamation-3.6.20.tar.gz
tar -zxvf sqlite-amalgamation-3.6.20.tar.gz
cd sqlite-3.5.6
./configure -prefix=/usr/local/lib/sqlite3
make && make install

2、编辑Python文件

修改Python解压目录里的setup.py 文件:在下面这段的下一行添加’/usr/local/lib/sqlite3/ include ’,

1
2
3
4
5
6
7
8
sqlite_inc_paths = [ '/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
'/usr/local/lib/sqlite3/include',
]

3、重新编译安装Python

1
2
3
4
./configure --prefix=/usr/local/python --with-openssl=/usr/local/openssl
make && make install
ln -fs /usr/local/python/bin/python3.7 /usr/bin/python
ln -fs /usr/local/python/bin/pip3 /usr/bin/pip

4、测试

1
2
# python
>>> import sqlite3