zoukankan      html  css  js  c++  java
  • 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了;(看了一天才解决,整合文档,有借鉴别人的,还好解决了,记录一下)
  • 相关阅读:
    Python 爬虫js加密破解(一) 爬取今日头条as cp 算法 解密
    Python 爬虫实例(2)—— 爬取今日头条
    Python 爬虫实例(1)—— 爬取百度图片
    python 操作redis之——HyperLogLog (八)
    python 操作redis之——有序集合(sorted set) (七)
    Python操作redis系列之 列表(list) (五)
    Python操作redis系列以 哈希(Hash)命令详解(四)
    Python操作redis字符串(String)详解 (三)
    How to Install MySQL on CentOS 7
    Linux SSH远程文件/目录 传输
  • 原文地址:https://www.cnblogs.com/smilevv/p/14143998.html
Copyright © 2011-2022 走看看