centos7中supervisor+django高版本部署sqlite3问题

31 篇文章 2 订阅
9 篇文章 0 订阅

默认centos7的版本是3.7, 而django版本自2.x开始后就要求升级sqlite3为3.8+或者3.9+, 此时有几种解决办法。

1. 降级django

2. 升级sqlite3

通常为了适应django的后期版本升级, 会升级sqlite3, 升级过程如下:

$ wget https://www.sqlite.org/2019/sqlite-autoconf-3270200.tar.gz
$ tar -zxvf sqlite-autoconf-3270200.tar.gz
$ cd sqlite-autoconf-3270200
$ ./configure --prefix=/usr/local
$ make && make install
$ mv /usr/bin/sqlite3  /usr/bin/sqlite3_7
$ ln -s /usr/local/bin/sqlite3   /usr/bin/sqlite3
$ vim ~/.bashrc
    # 加入以下内容
    export LD_LIBRARY_PATH="/usr/local/lib":LD_LIBRARY_PATH
$ source ~/.bashrc

之后可以进入python的shell命令中使用如下代码查看版本

import sqlite3
print(sqlite3.sqlite_version)

正常的话应该为`3.27.2`

使用supervisor或其他依赖环境变量部署时请注意:

升级教程后最重要的部分是配置sqlite3的LD_LIBRARY_PATH, 配置好之后可以从cmd中获取sqlite3的版本缺失为高版本的, 而在cmd中启动django也可以正常运行, 但是利用supervisor进行部署的时候, 会发现报错sqlite3版本好像又回到了旧版本。

此时解决办法很简单, 在supervisor的配置文件中的environment中加入LD_LIBRARY_PATH即可, 默认/etc/profile和/etc/environment中的变量不会被加入到linux的环境变量中, 所以此时需要再supervisor中显示指定

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值