在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. [USACO3.1]最短网络 Agri-Net

    题目背景 Farmer John 被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 FJ 已经给他的农场安排了一条高速的网络线路,他想 ...

  2. 【VBA】类型转换

    每个函数都可以强制将一个表达式转换成某种特定数据类型. 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression ...

  3. 2.docker下centos镜像

    1.下载并运行 # 交互模式下载并运行centos容器 $ docker run -it centos:latest /bin/bash 1.1 配置centos的环境别名 $ vi /etc/bas ...

  4. 「模拟8.19 A嚎叫..(set) B主仆..(DFS) C征程..(DP+堆优化)」

    为啥这一套题目背景感到很熟悉. T1  嚎叫响彻在贪婪的厂房 考试一个小时没调出来,自闭了.......... 正解很好想,最后实在打不出来了只好暴力骗分了... 联想到以前做的题:序列(涉及质因数分 ...

  5. 【模拟】10-15 题解 trans

    Trans 题目描述 Tgopknight决定使用他的幸运数字2和3来进行这个游戏,他一开始有n个数字,记为{dn}需要 进行k次操作,每次操作找到最小的x使得dx = 2并且dx+1 = 3,此时如 ...

  6. [INS-32033] Central Inventory location is not writable

    这个是因为之前安装过一次图形界面,已经创建过Inventory,所以会报错. 解决:删除oraInventory这个目录.

  7. Mysql8关于hashjoin的代码处理方式

    Mysql8关于hashjoin的代码处理方式 目录 Mysql8关于hashjoin的代码处理方式 1 表的Schema如下所示: 2 HashJoin代码实现 3 总结 1 表的Schema如下所 ...

  8. JavaScript 实现:输出斐波那契数列

    问渠那得清如许,为有源头活水来. 想要保持自己的技术活力,最有效的手段就是通过不断地输入来提供足够的养分.我们也不必刻意追求高深的或者新鲜的知识点,通过对一个基础问题的全方位多维度解析,同样也会收获不 ...

  9. 流程自动化RPA,Power Automate Desktop系列 - DotNet Core打包并发布Nuget Package

    一.背景 DotNet Core通常基于Nuget来实现包管理,如果你想要把自己的实现共享给其他人,通常我们需要把本地项目打包好,然后发布到对应的Nuget Server上,以便于其他人可以查找.安装 ...

  10. 温故知新,CSharp遇见异步编程(Async/Await),聊聊异步编程最佳做法

    什么是异步编程(Async/Await) Async/Await本质上是通过编译器实现的语法糖,它让我们能够轻松的写出简洁.易懂.易维护的异步代码. Async/Await是C# 5引入的关键字,用以 ...