直接进入正题
错误内容,说明未链接sqlite3模块
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/python3/lib/python3.6/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/python3/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
1、安装sqlite3
先执行
sqlite3 -version
输出下面的版本信息说明已经安装了sqlite3,那直接跳过1.1,进行1.2操作
[root@ns Python-3.7.0]# sqlite3 -version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
1.1、安装sqlite3
wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz
configure –prefix=/usr/local/sqlite3
make
make install
1.2、安装 sqlite-devel
yum install sqlite-devel
2、配置安装python
编辑python3.7目录里面的setup.py,添加sqlite的搜索路径:
vim setup.py
/*直接输入下面的字符,就能跳转到所属行,python 3.7.0大概在1130行,不会vim的去百度一下啊
键盘/搜索字符
键盘i输入字符
键盘:wq保存文件并退出
键盘:q!强制退出,不保存文件
键盘esc取消命令
*/
/sqlite_inc_paths
改为以下内容,增加了后3行
sqlite_inc_paths = [ '/usr/include',
'/usr/include/sqlite',
'/usr/include/sqlite3',
'/usr/local/include',
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
'/usr/local/sqlite3/include',
'/usr/local/sqlite3/include/sqlite',
'/usr/local/sqlite3/include/sqlite3',
]
3、重新安装python3.7
下面的代码是带SSL安装的,安装方法见上一篇文章
CentOS7 Python3.7 pip安装找不到TLS/SSL处理方式
LD_RUN_PATH=/usr/local/lib ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" --with-openssl=/usr/local/openssl
LD_RUN_PATH=/usr/local/lib make
make install
3、安装完成
[root@ns Python-3.7.0]# sqlite3 -version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
[root@ns Python-3.7.0]# vim setup.py
[root@ns Python-3.7.0]# /usr/local/bin/python3.7
Python 3.7.0 (default, May 27 2021, 02:04:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.7.17'
>>>