解决django与sqlite3不兼容报SQLite 3.9.0 or later is required错的问题

今天在尝试用pytest进行django的单元测试,pytest用的数据库是sqlite3,在window环境下测试得好好的,但是放到linux环境下就报错,具体是报django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.8.2).的错。

从报错的提示看是sqlite3的版本太低,期望是3.9.0但是当前版本是3.8.2

在网上找了很多资料,也都是说django与sqlite3的版本不兼容,需要升级sqlite3的版本。

于是将sqlite3升级到目前的稳定版本3.46.0,然而发现并没有什么用,还是报sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

通过sqlite3 --version 查看版本号已经是3.46.0了,但还是提示要求SQLite版本在3.8.3以上。重装django4和python3.8的环境都没有用。

最后在网上找到解决办法。使用第三方包pysqlite3运行SQLite3

具体方法如下:

1、安装pysqlite3和pysqlite3-binary

powershell 复制代码
pip install pysqlite3
pip install pysqlite3-binary

2、找到django的sqlite3驱动包,/usr/local/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py 找到 from sqlite3 import dbapi2 as Database 注释它,添加代码

python 复制代码
#from sqlite3 import dbapi2 as Database  #注释它
from pysqlite3 import dbapi2 as Database #新加这段代码

历经周折终于解决。


博客地址:http://xiejava.ishareread.com/

相关推荐
0思必得03 分钟前
[Web自动化] 爬虫实例(获取时光网某个年度电影数据)
前端·爬虫·python·selenium·自动化
计算机徐师兄12 分钟前
Python基于深度学习的商品推荐系统(附源码,文档说明)
python·深度学习·python深度学习·python商品推荐系统·pytho深度学习商品推荐系统·python电商平台商品分类·电商平台商品分类系统
小白学大数据14 分钟前
使用随机时间间隔提升爬虫隐蔽性
开发语言·c++·爬虫·python
喵手20 分钟前
Python爬虫实战:B站综合排行榜数据采集实战:从静态抓取到数据分析全流程(附 CSV 导出)!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·b站排行榜数据采集·采集数据导出csv
Lucky小小吴26 分钟前
避开 case_sensitive_like 坑:SQLite 范围查询替代 LIKE 的性能优化之路
数据库·sqlite
了一梨26 分钟前
SQLite3学习笔记1:配置环境
笔记·学习·sqlite
m0_7066532341 分钟前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
试剂小课堂 Pro1 小时前
Ald-PEG-Ald:丙醛与聚乙二醇两端连接的对称分子
java·c语言·c++·python·ffmpeg
玄同7651 小时前
SQLAlchemy 初始化全流程详解:从引擎到会话的每一步
数据库·人工智能·python·sql·mysql·语言模型·知识图谱
小北方城市网1 小时前
MyBatis-Plus 生产级深度优化:从性能到安全的全维度方案
开发语言·redis·分布式·python·缓存·性能优化·mybatis