linux部署django启动项目报错误

启动后报以下错误:

 

 

 以上原因有可能是你sqlite版本问题,可以上级版本:如下:

1、先下载、编译、安装SQLite引擎

SQLite官网的下载页面:https://sqlite.org/download.html 这里是最新的版本,我们就安装它吧。
源码有两个文件,我们下第二个(sqlite-autoconf-3280000.tar.gz),因为这个有配置文件。复制其链接,然后在终端执行:

wget https://sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
tar zxvf sqlite-autoconf-3280000.tar.gz
cd sqlite-autoconf-3280000
./configure
make && make install

以默认方式安装后,会把编译好的二进制文件安装到/usr/local/lib, 把头文件sqlite3.h sqlite3ext.h安装到/usr/local/include,我们需要知道这两个路径。

2、下载、编译、安装Python

请先照此文的方法做: https://e2c.net/2019/03/17/61.html
唯一的区别是,在编译时略有不同。
原来的编译过程:

cd /usr/local/python-3.7/
./configure --prefix=/usr/local/sbin/python-3.7
make && make install

修改为:

cd /usr/local/python-3.7/
LD_RUN_PATH=/usr/local/lib ./configure LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include" --prefix=/usr/local/sbin/python-3.7
LD_RUN_PATH=/usr/local/lib make
make && make install

照此安装后,已经可以使用最新版SQLite了:

Python 3.7.0 (default, Jun 21 2019, 07:31:39)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.28.0'
                                                                                                                                                                                                                >>> exit()
 
 
 
 
 
如果更新版本无效的话只能降低django版本或者不依赖系统提供的sqlite3 使用 pysqlite3pysqlite3-binary 库来操作。首先需要安装这两个库:(我使用的第二个,然后只安装了pysqlite3pysqlite3-binary这个安装找不到所以就没有安装(不知道后面会不会受影响))
pip3 install pysqlite3

pip3 install pysqlite3-binary

修改db代码导入库

vi /usr/local/python3/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
# 修改内容
# from sqlite3 import dbapi2 as Database (注释掉这段)
from pysqlite3 import dbapi2 as Database # 启用pysqlite3
# :wq 保存即可

然后启动出现一下界面,有报错可以执行途中的迁移命令在运行:

 

 

这样就ok了;(看了一天才解决,整合文档,有借鉴别人的,还好解决了,记录一下)
posted @ 2020-12-16 15:06  Smile☆  阅读(312)  评论(0编辑  收藏  举报