在CentOS7上部署Django的时候,遇到了一些问题,写篇笔记记录解决过程。

报错信息

python3 manage.py runserver启动django项目的时候,就会出现报错信息如下:
raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

这是因为centos 默认的版本为3.7.17,并没有更新,我们只需要安装新的SQLite代替老版本就可以了。可以去搜索sqlite官网去下载源码。

查看系统的sqlte3的版本

1 [root@djangoServer work]# sqlite3 --version
2 3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
3 [root@djangoServer work]#

Centos7安装最新的sqlite3并设置更新python库版本

 1 #更新SQLite 3
2 #获取源代码(在主目录中运行)
3 [root@djangoServer ~]# cd ~
4 [root@djangoServer ~]# wget https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz
5 [root@djangoServer ~]# tar -zxvf sqlite-autoconf-3270200.tar.gz
6
7 #构建并安装
8 [root@djangoServer ~]# cd sqlite-autoconf-3270200
9 [root@djangoServer sqlite-autoconf-3270200]# ./configure --prefix=/usr/local
10 [root@djangoServer sqlite-autoconf-3270200]# make && make install
11 [root@djangoServer sqlite-autoconf-3270200]# find /usr/ -name sqlite3
12 /usr/bin/sqlite3
13 /usr/lib64/python2.7/sqlite3
14 /usr/local/bin/sqlite3
15 /usr/local/python3/lib/python3.7/site-packages/django/db/backends/sqlite3
16 /usr/local/python3/lib/python3.7/sqlite3
17 [root@djangoServer sqlite-autoconf-3270200]#
18
19 #不必要的文件,目录删除
20 [root@djangoServer sqlite-autoconf-3270200]# cd ~
21 [root@djangoServer ~]# ls
22 anaconda-ks.cfg sqlite-autoconf-3270200 sqlite-autoconf-3270200.tar.gz
23 [root@djangoServer ~]#
24 [root@djangoServer ~]# rm -rf sqlite-autoconf-3270200.tar.gz
25 [root@djangoServer ~]# rm -rf sqlite-autoconf-3270200
26
27 #检查版本
28 ## 最新安装的sqlite3版本
29 [root@djangoServer ~]# /usr/local/bin/sqlite3 --version
30 3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
31 [root@djangoServer ~]#
32
33 ## Centos7自带的sqlite3版本
34 [root@djangoServer ~]# /usr/bin/sqlite3 --version
35 3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
36 [root@djangoServer ~]#
37
38 ## 可以看到sqlite3的版本还是旧版本,那么需要更新一下。
39 [root@djangoServer ~]# sqlite3 --version
40 3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
41 [root@djangoServer ~]#
42
43 ## 更改旧的sqlite3
44 [root@djangoServer ~]# mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
45
46 ## 软链接将新的sqlite3设置到/usr/bin目录下
47 [root@djangoServer ~]# ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
48
49 ## 查看当前全局sqlite3的版本
50 [root@djangoServer ~]# sqlite3 --version
51 3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
52 [root@djangoServer ~]#
53
54 #将路径传递给共享库
55 # 设置开机自启动执行,可以将下面的export语句写入 ~/.bashrc 文件中,如果如果你想立即生效,可以执行source 〜/.bashrc 将在每次启动终端时执行
56 [root@djangoServer ~]# export LD_LIBRARY_PATH="/usr/local/lib"
57
58 #检查Python的SQLite3版本
59 [root@djangoServer ~]# ipython3
60 Python 3.6.8 (default, Aug 7 2019, 17:28:10)
61 [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
62 Type "help", "copyright", "credits" or "license" for more information.
63 >>> import sqlite3
64 >>> sqlite3.sqlite_version
65 '3.27.2'
66 >>> exit()
67 [root@djangoServer ~]#
68
69 #启动开发服务器
70 [root@djangoServer ~]# cd /work/
71 [root@djangoServer work]# ls
72 db.sqlite3 manage.py polls test_django
73 [root@djangoServer work]# python3 manage.py runserver
74 Watching for file changes with StatReloader
75 Performing system checks...
76
77 System check identified no issues (0 silenced).
78 May 03, 2019 - 21:32:28
79 Django version 2.2.1, using settings 'test_django.settings'
80 Starting development server at http://127.0.0.1:8000/
81 Quit the server with CONTROL-C.

解决 centerOS7部署ajango2.2.x版本 报SQLite 3.8.3 or later is required (found 3.7.17).错误的更多相关文章

  1. 解决IIS部署网站引用woff/woff2/svg字体报404错误

    一.问题 在IIS上部署网站,网页引用woff字体时,浏览器报“找不到woff.woff2字体”.“404”错误,不仅预设的字体加载不出来,还影响网页加载速度. 二.原因 IIS默认设置情况下不识别. ...

  2. webSphere 部署项目时,访问报错:Error 500: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet【我】

    前提: 一个普通maven项目,在本地用Tomcat运行没有任何问题,但是放到 webSphere  测试环境上,访问时就报如下错误: Error 500: javax.servlet.Servlet ...

  3. Spring Boot 项目本地运行无异常,部署到 Linux 服务器运行报错:java.lang.ClassNotFoundException

    一 背景 最近在用 Springboot 开发项目 A,引了小伙伴开发的模块 B,本地起服务,运行的好好的,等部署到服务器上,一运行就报错:Caused by: java.lang.ClassNotF ...

  4. jdk1.8+SpringAOP注解报java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut select错误的不知原因的解决办法[仅供参考]

    先说办法:如果Aspectweaver-1.*.*jar这三个包版本比较低, 比如1.5.0这一层次的,可以找版本高一点的包替换低版本的包,问题可以得到解决 jar包的下载地址:https://mvn ...

  5. 解决selenium不支持firefox低版本的问题

    解决selenium不支持firefox低版本的问题 在火狐浏览器升级后,突然发现webdriver运行脚本的时候不能调出火狐浏览器了,并报错WebDriverException:Message:'C ...

  6. 解决nextjs部署到now上之后出现的“Unable to import module 'now__launcher'”错误

    解决nextjs部署到now上之后出现的“Unable to import module 'now__launcher'”错误 这个错误是由于在next.config.js中直接引用了withLess ...

  7. Scrapy安装报错 Microsoft Visual C++ 14.0 is required 解决办法

    Scrapy安装报错 Microsoft Visual C++ 14.0 is required 解决办法原因:Scrapy需要的组 twisted 需要 C++环境编译. 方法一:根据错误提示去对应 ...

  8. 解决windows64位系统上安装mysql-python报错

    解决windows64位系统上安装mysql-python报错 2018年03月12日 13:08:24 一个CD包 阅读数:1231    版权声明:本文为博主原创文章,未经博主允许不得转载. ht ...

  9. 解决Firefox已阻止运行早期版本Adobe Flash

      解决Firefox已阻止运行早期版本Adobe Flash     类别    [随笔分类]web   解决Firefox已阻止运行早期版本Adobe Flash   最近火狐浏览器不知抽什么风, ...

随机推荐

  1. python_request 接口测试线性框架,模块化思想,增加日志打印

    一.大框架 如下为一个简单的线性框架,同时编写common_api 模块,把一个个接口进行封装,案例编写时候只需要直接调用输入参数即可. 二. test_cases 模块具体写法 2.1  commo ...

  2. 菜鸟刷题路:剑指 Offer 05. 替换空格

    剑指 Offer 05. 替换空格 class Solution { public String replaceSpace(String s) { StringBuilder str = new St ...

  3. git介绍及使用

    一.架构 版本库(仓库):工作区中有一个隐藏目录.git,这个目录不属于工作区,而是git的版本库,是git管理的所有内容. 暂存区:版本库中包含一个临时区域,保存下一步要提交的文件. 分支:版本库中 ...

  4. .NET平台系列24:从.NET Framework迁移到.NET Core/.NET5的技术指南

    系列目录     [已更新最新开发文章,点击查看详细] 本文讲解了在将代码从 .NET Framework 移植到 .NET(旧称为 .NET Core)时应考虑的事项. 对于许多项目,从 .NET ...

  5. 浏览Github必备的5款神器级别的Chrome插件

    我们知道 Github 是程序员特有的宝藏,也可以称它为 GayHub, 大家浏览 Github 的时候,一定遇到过下面这些问题: 不克隆到本地的情况下阅读代码困难. 无法单独下载仓库中的某个文件/文 ...

  6. 源码学习之void 0

    今天看源码的时候看到 void 0 这样的写法,平时在业务代码里基本没有这样的写法,于是学习了一下. 在控制台运行了一下void 0,得到返回值是undefined. 在MDN上搜了一下void,了解 ...

  7. org.junit.Assert(断言)

    org.junit.Assert(断言) Assert是断言的意思,可以理解为"猜测",如果猜测错误,则抛出java.lang.AssertionError异常.  引入jar包  ...

  8. Java安全之Weblogic内存马

    Java安全之Weblogic内存马 0x00 前言 发现网上大部分大部分weblogic工具都是基于RMI绑定实例回显,但这种方式有个弊端,在Weblogic JNDI树里面能将打入的RMI后门查看 ...

  9. 1、Linux下源码编译安装PostgreSQL

    操作系统:Centos7 说明:postgresql必须在postgres用户下初始化数据库和启动,否则报错. PostgreSQL的特性 PostgreSQL是一种几乎可以运行在各种平台上的免费的开 ...

  10. [Linux]Ansible自动化运维① - 入门知识

    目录 一.Ansible 概述 1.1 Ansible 是什么 1.2 Ansible 优势 1.3 Ansible 特性 二.Ansible 入门 2.1 Ansible 架构 2.2 Ansibl ...