当前位置: 首页 > news >正文

部署Django报错-requires SQLite 3.8.3 or higher

记一次CentOS7部署Django项目时的报错

问题出现

在部署测试环境时,有需要用到一个python的后端服务,要部署到测试环境中去

心想这不是so easy吗,把本地调试时使用的python版本及Django版本在服务器上对应下载好,然后直接执行命令

python manage.py runserver 0.0.0.0:8000

不就完事儿了吗,说干就干,立马去服务器布置好python和django的环境,到py项目的根目录下执行上面一行的命令

结果直接报错:

django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

在这里插入图片描述

属实一脸懵圈,又赶紧对应了一下服务器上环境和本地环境的依赖版本对应,没问题啊,完全按照本地的环境依赖来的,贴一下python和Django的版本

python: 3.11
Django: 4.2.4

又去官网看了下,难道是python和Django的版本不对应吗?版本对应地址

在这里插入图片描述

这没啥问题吧,而且我本地都这个环境,调试的好好的。

又去项目的依赖库,对应完一看,项目里的依赖也没说用到啥sqlite啊,后来发现,centos7中有自带的sqlite,看了一下版本

[root@kafka1 ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

嚯!Django项目启动执行时会读取这个版本的sqlite3,Django且在执行前还去判断了一下这个版本,行吧

既然是版本低了,那么我们调一下版本就好了嘛,能解决问题就行

开始解决

反手到sqlite的官网去下载最新的sqlite去,https://www.sqlite.org/download.html

在这里插入图片描述

直接下了一个3.43的版本的,开始整环境安装吧。

安装步骤

下载完成后,上传到服务器,开始安装

  1. 解压
tar -zxvf sqlite-autoconf-3430000.tar.gz
  1. cd到sqlite-autoconf-3430000目录下,配置安装文件:
# 到对应的目录下
cd sqlite-autoconf-3430000# 配置
./configure --prefix=/usr/local
  1. 编译&安装
make && make install
  1. 建立软链接

旧版的sqlite3更改一下

mv /usr/bin/sqlite3 /usr/bin/sqlite3_old

新版的sqlite3建立软链接

ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

安装完毕~~,看一了下版本

[root@kafka1 sqlite-autoconf-3430000]# sqlite3 --version
3.43.0 2023-08-24 12:36:59 0f80b798b3f4b81a7bb4233c58294edd0f1156f36b6ecf5ab8e83631d468778c (64-bit)

欧克了,3.43的版本,但是还没完,因为在后面的部署中发现,这样仍然不可以。

在这里插入图片描述

部署python项目时发现还是读取的旧版的sqlite3,所以需要配置到环境变量中

  1. 设置环境变量

vim /etc/profile将配置写好保存

export LD_LIBRARY_PATH=/usr/local/lib

刷新一下source /etc/profile

  1. 完事儿收工,后面部署Django项目就行了
python manage.py runserver 0.0.0.0:8000

TIPS:测试环境访问别忘了开端口

http://www.lryc.cn/news/158272.html

相关文章:

  • 什么是网络存储服务器
  • lv3 嵌入式开发-10 NFS服务器搭建及使用
  • 后流量时代的跨境风口:Facebook广告
  • Java基础学习笔记-2
  • Mongodb 安装脚本(附服务器自启动)
  • yolov5的pytorch配置
  • ISO 19712-1-2008装饰用实体面材检测
  • 华为OD机试 - 最多颜色的车辆 - 数据结构map(Java 2022Q4 100分)
  • Mybatis 插入、修改、删除
  • 2023年9月DAMA-CDGA/CDGP数据治理认证火热招生中
  • 【SpringCloudAlibaba】Seata分布式事务使用
  • Java-day13(IO流)
  • Vue2项目练手——通用后台管理项目第四节
  • linux运维(二)内存占用分析
  • go logger 不侵入业务代码 用slog 替换 zap 并实现 callerSkip
  • vuez 与 Vue3 响应式比较
  • 【Apollo学习笔记】——规划模块TASK之PIECEWISE_JERK_SPEED_OPTIMIZER
  • CNI、CSI 和 CRI在 Docker 中的角色和作用
  • 「Docker」M1 Pro 打包docker image问题合集
  • Android发布依赖到 Jitpack
  • 【虚拟机开不了】linux、centOS虚拟机出现entering emergency mode解决方案
  • 嘉泰实业举行“互联网金融知识社区”“安全理财风险讲座”等活动
  • 《C++设计模式》——结构型
  • docker-compose安装redis
  • 机器学习基础之《分类算法(6)—决策树》
  • 2023国赛数学建模C题思路模型 - 蔬菜类商品的自动定价与补货决策
  • 【Docker】Docker网络与存储(三)
  • python面向对象的一个简单实例
  • 微信小程序通过npm引入tdesign包进行构建的时候报错
  • 三次握手四次挥手