centos运行django,遇到sqlite报错

 

在centos上运行django,报错:

django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).

 

django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

  

 

 

 

 

 

解决方法:

在网上搜了一下,发现主要有三种解决方法:

1.升级系统 sqlite 版本(已试,不好使,各种问题)

2.降低 django 版本(公司项目,不可能降版本,放弃)

3.使用其他库替代系统的 sqlite(已试,挺方便)

 

下面记录下第三种解决方法:

不依赖系统的sqlite3,使用 pysqlite3 和  pysqlite3-binary  库来操作。

# 安装
pip3 install pysqlite3
pip3 install pysqlite3-binary

 

然后是修改 db 代码导入库

vi /huyang/python395/lib/python3.9/site-packages/django/db/backends/sqlite3/base.py

 

具体修改地方:

# 修改内容
# from sqlite3 import dbapi2 as Database # 注释掉这里
from pysqlite3 import dbapi2 as Database

# 然后保存退出就可以了  :wq!

 

然后使用命令运行,就可以正常了  python3 manage.py runserver

 

posted @ 2022-09-23 16:01  十一的杂文录  阅读(661)  评论(0编辑  收藏  举报