问题出在django 新版提高了sqlite3 的版本要求。
如果项目真的不需要使用sqlite数据库,可以执行以下操作:
更改sqlite3虚拟环境中的版本检查。
{venv目录}/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py #删除或者注释第73行的 check_sqlite_version()
当需要使用sqlite数据库时执行以下操作
- 更新现有的sqlite数据库
-
wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz #下载最新源码,链接为3.35版本 tar -zxvf sqlite-autoconf-3350500.tar.gz #解压包 ./configure --prefix=/usr/local/ make && make install #进行一个译的编
-
- 更新创建对于新sqlite的软连接
-
mv /usr/bin/sqlite3 /usr/bin/sqlite3.bak ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
-
- 删除旧版sqlite的.so文件(django 使用uwsgi运行时必需进行的操作,否则使用时依旧会报错)
-
cp /usr/local/lib/libsqlite3.so.0 /usr/lib64/ #输入Y确认覆盖
-
- 配置环境变量并生效
-
echo export LD_LIBRARY_PATH="/usr/local/lib">> ~/.bashrc source ~/.bashrc
-
- 检查是否生效
-
-
sqlite3 --version #输出版本
-