[编译报错]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。

相关推荐
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
kangzerun6 天前
SQLiteManager:一个优雅的Qt SQLite数据库操作类
数据库·qt·sqlite
用户5757303346246 天前
AIGC 时代数据库革命:告别手写 SQL,用自然语言驾驭 SQLite
sqlite
GDAL7 天前
better-sqlite3 深度教程:为什么它比 node‑sqlite3 更好、怎么用、什么时候不该用
sqlite·better-sqlite3
GDAL7 天前
SQLite 与 MySQL 性能深度对比:场景决定最优解
数据库·mysql·sqlite
钱彬 (Qian Bin)8 天前
FastAPI的Alembic踩坑记录:缺失历史迁移脚本如何保留数据重建版本控制
sqlite·fastapi·数据库迁移·alembic
qq_454245039 天前
GraphMindStudio 数据操作层解析:基于 SQLite 的封装与自动化存储
sqlite·c#
喵手9 天前
Python爬虫实战:Boss直聘职位数据采集实战 - Playwright + 结构化解析完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·sqlite·爬虫实战·playwright·boss直聘职位数据采集·结构化解析
GDAL10 天前
SQLite 的适用场景与选型指南:它不是轻量 MySQL,而是「文件的升级版」
数据库·mysql·sqlite
布局呆星10 天前
Python 入门:FastAPI + SQLite3 + Requests 基础教学
python·sqlite·fastapi