虚拟主机和服务器有什么区别,对新网站做seo大概需要多久,网站正在建设中yuss,毕业设计团购网站建设记一次CentOS7部署Django项目时的报错
问题出现
在部署测试环境时#xff0c;有需要用到一个python的后端服务#xff0c;要部署到测试环境中去
心想这不是so easy吗#xff0c;把本地调试时使用的python版本及Django版本在服务器上对应下载好#xff0c;然后直接执行命…记一次CentOS7部署Django项目时的报错
问题出现
在部署测试环境时有需要用到一个python的后端服务要部署到测试环境中去
心想这不是so easy吗把本地调试时使用的python版本及Django版本在服务器上对应下载好然后直接执行命令
python manage.py runserver 0.0.0.0:8000不就完事儿了吗说干就干立马去服务器布置好python和django的环境到py项目的根目录下执行上面一行的命令
结果直接报错
django.db.utils.NotSupportedError: deterministicTrue requires SQLite 3.8.3 or higher 属实一脸懵圈又赶紧对应了一下服务器上环境和本地环境的依赖版本对应没问题啊完全按照本地的环境依赖来的贴一下python和Django的版本
python: 3.11
Django: 4.2.4又去官网看了下难道是python和Django的版本不对应吗版本对应地址 这没啥问题吧而且我本地都这个环境调试的好好的。
又去项目的依赖库对应完一看项目里的依赖也没说用到啥sqlite啊后来发现centos7中有自带的sqlite看了一下版本
[rootkafka1 ~]# sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668嚯Django项目启动执行时会读取这个版本的sqlite3Django且在执行前还去判断了一下这个版本行吧
既然是版本低了那么我们调一下版本就好了嘛能解决问题就行
开始解决
反手到sqlite的官网去下载最新的sqlite去https://www.sqlite.org/download.html 直接下了一个3.43的版本的开始整环境安装吧。
安装步骤
下载完成后上传到服务器开始安装
解压
tar -zxvf sqlite-autoconf-3430000.tar.gzcd到sqlite-autoconf-3430000目录下配置安装文件
# 到对应的目录下
cd sqlite-autoconf-3430000# 配置
./configure --prefix/usr/local编译安装
make make install建立软链接
旧版的sqlite3更改一下
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old新版的sqlite3建立软链接
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3安装完毕~~看一了下版本
[rootkafka1 sqlite-autoconf-3430000]# sqlite3 --version
3.43.0 2023-08-24 12:36:59 0f80b798b3f4b81a7bb4233c58294edd0f1156f36b6ecf5ab8e83631d468778c (64-bit)欧克了3.43的版本但是还没完因为在后面的部署中发现这样仍然不可以。 部署python项目时发现还是读取的旧版的sqlite3所以需要配置到环境变量中
设置环境变量
vim /etc/profile将配置写好保存
export LD_LIBRARY_PATH/usr/local/lib刷新一下source /etc/profile
完事儿收工后面部署Django项目就行了
python manage.py runserver 0.0.0.0:8000TIPS:测试环境访问别忘了开端口