[编译报错]ImportError: No module named _sqlite3解决办法
1. 问题描述:
在使用python进行代码编译时,提示下面报错:
"/home/bspuser/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py", line 18, in <module>
import sqlite3
File "/usr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
此报错阻塞了代码编译,通过上网检索后,发现网上也存在与作者遇到相同报错的报错案例,但是没有人找到解决办法,因此进行了反复的排查尝试,最终找到了下面解决办法。
2. 解决方法
2.1 确定python版本,下载对应源码
报错日志显示python2.7,终端执行命令“python2.7 --version”查看具体版本,然后下载对应python源码:
2.2 编译官方完整python2.7源码
cd ~/Downloads/Python-2.7.18/
./configure
make
sudo make install
编译以及install完成后,重新编译代码报错不在出现
2.3 原因总结
出现报错的原因是:ubuntu系统默认带有python2.7,但此版本属于ubuntu系统默认的部分工具安装,系统默认并未安装sqlite3,导致python2.7已加载的配置中没有sqlite3的相关path配置,故需要重新对python2.7源码进行配置、编译、安装后才能调用到sqlite3。