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