ImproperlyConfigured(“需要SQLite 3.8.3或更高版本(已找到%s)。”%Database.sqlite_version)django.core.exceptions.ImproperlyConfigured:SQLite 3.8.3或更高版本
我在django项目中遇到了这个问题,sqlite3和django的版本不匹配。这是在centos7 env上发生的,我也想要一个在容器env中可用的便捷解决方案。
答案 0 :(得分:2)
我通过使用以下命令升级我的sqlite3版本来解决此问题:
cd ~ && wget https://www.sqlite.org/2020/sqlite-autoconf-3320100.tar.gz && tar xvfz sqlite-autoconf-3320100.tar.gz && cd sqlite-autoconf-3320100 && ./configure && make && make install
我正在使用ElasticBeanstalk进行设置,因此我在.ebextensions文件夹中添加了一个.config文件,并将其放入其中:
commands:
01_upgrade_sqlite:
command: "cd ~ && wget https://www.sqlite.org/2020/sqlite-autoconf-3320100.tar.gz && tar xvfz sqlite-autoconf-3320100.tar.gz && cd sqlite-autoconf-3320100 && ./configure && make && make install"
答案 1 :(得分:0)
就我而言,使用 kioddant 指令升级 sqlite 仅起到了部分作用。 SQLite 已经安装,但是python 仍然指的是旧的sqlite 版本。
解决此问题的附加步骤是设置环境变量 LD_LIBRARY_PATH="/usr/local/lib"
将其添加到 .ebextensions/*.config
option_settings:
"aws:elasticbeanstalk:application:environment":
LD_LIBRARY_PATH: "/usr/local/lib"
答案 2 :(得分:-1)
您有一个过时的SQLite版本,您可以尝试以下方法:
python -m pip install -U sqlite
答案 3 :(得分:-1)
我现在找到了一个可用的解决方案:将Django的版本从'Django == 3.0.4'更改为'Django == 2.1.8'。
pip install django == 2.1.8 -i https://mirrors.aliyun.com/pypi/simple/