• Django部署服务时候报错:SQLite 3.8.3 or later is required (found 3.7.17)


    问题描述:

    在阿里云的自带centos上运行python manage.py runserver的时候报错:

    django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).


    解决方法1:给django降级

    1.  
      卸载django: pip uninstall django
    2.  
      安装低版本: pip install django==2.1.8

    解决方法2:升级SQLite

    1.查看系统的sqlte3的版本

    sqlite3 --version

    Centos系统自带的sqlite3版本偏低,在上面的错误提示中要求需要SQLite 3.8.3 or later,那么就需要去升级 SQlite 的版本了。

    2.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.7.1 (default, May 3 2019, 09:55:04)
    61.  
      Type 'copyright', 'credits' or 'license' for more information
    62.  
      IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help.
    63.  
       
    64.  
      In [1]: import sqlite3
    65.  
       
    66.  
      In [2]: sqlite3.sqlite_version
    67.  
      Out[2]: '3.27.2'
    68.  
       
    69.  
      In [3]: exit
    70.  
      [root@djangoServer ~]#
    71.  
       
    72.  
      #启动开发服务器
    73.  
      [root@djangoServer ~]# cd /work/
    74.  
      [root@djangoServer work]# ls
    75.  
      db.sqlite3 manage.py polls test_django
    76.  
      [root@djangoServer work]# python3 manage.py runserver

    结果:

    这里运行的时候需要输入python3  manage.py runserver

    测试成功没有:

    在打开一个终端连接阿里云,输入curl http://127.0.0.1:8000可以看到源代码就说明ok了。


    测试从公网访问:【配置Nginx 的反向代理】

    好的教程:https://bbs.aliyun.com/read/176277.html?spm=5176.11065265.1996646101.searchclickresult.6acd7a12UIuJpr

    部署指南:https://www.alibabacloud.com/zh/getting-started/projects?spm=a2796.8276177.1200651.4.76a06a7dEoReSg

    宝塔面板中:添加如下server{}

    1.  
      server
    2.  
      {
    3.  
      listen 80;
    4.  
      server_name 你服务器的公网ip;
    5.  
      rewrite ^/$ / break;
    6.  
      location /
    7.  
      {
    8.  
      proxy_pass http://127.0.0.1:8000;
    9.  
      }
    10.  
      }

    然后保存并重启或重载配置:

    然后启动你的django服务器:

    说一句:部署肯定要上传项目,可以不用打包。使用xftp6软件就可以将项目传到阿里云主机


    Django部署指南:看这一篇就够了:

    https://www.alibabacloud.com/zh/getting-started/projects/how-to-deploy-django-application-on-alibaba-cloud?spm=a2796.8276801.1196489.20.57a6656ctOCYkA

  • 相关阅读:
    redhat 5.0 python2.4升级到2.7
    bindiff 4.2使用
    patchdiff2 函数比较插件
    OpenGL 获取当前屏幕坐标对应的三维坐标
    CsGL着色的三角形
    glEnable(GL_DEPTH_TEST)作用
    OpenGL之抗锯齿 以及 线宽的设置
    glLoadIdentity
    2.AngularJS-验证
    1.MVC概要与angular概要、模板与数据绑定
  • 原文地址:https://www.cnblogs.com/hushuning/p/14261277.html
Copyright © 2020-2023  润新知