django找不到新的sqlite版本? (需要SQLite 3.8.3或更高版本(找到3.7.17))

问题描述 投票:3回答:3

我已经克隆了一个django项目到Centos 7 vps并且我现在正试图运行它,但是在尝试migrate时我得到了这个错误:

$ python manage.py migrate
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

当我检查sqlite的版本时,它是3.7.17,所以我从sqlite网站下载了最新版本并用旧版本替换它,现在当我对它进行版本时,它给出了:

$ sqlite3 --version
3.27.2 2019-02-25 16:06:06 bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7

仍然当我尝试迁移项目时,我得到与之前完全相同的消息,这意味着找不到更新的版本。我是linux新手,非常感谢任何帮助。

python django sqlite centos7
3个回答
1
投票

要检查哪个版本的SQLite Python正在使用:

$ python
Python 3.7.3 (default, Apr 12 2019, 16:23:13) 
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.27.2'

对我来说,新版本的sqlite3在/ usr / local / bin中,所以我不得不重新编译Python,告诉它看看:

sudo LD_RUN_PATH=/usr/local/lib ./configure --enable-optimizations
sudo LD_RUN_PATH=/usr/local/lib make altinstall

我希望有所帮助。


6
投票

我在CentOS 7.6Python 3.7.3版本中遇到了同样的错误。我认为你正在使用Django 2.2.*一些版本。在最新的Django 2.2,他们改变了SQLIte版本,这是你的问题的原因。

这是关于release notesDjango 2.2SQLite

SQLite的最低支持版本从3.7.15增加到3.8.3。

因此,您可以使用此命令安装最新版本的Django 2.1

pip install Django==2.1.*

我认为这个问题已经解决了。


0
投票

我遇到了同样的问题,我在这方面苦苦挣扎了一段时间。对我来说,最好的解决方案是在settings.py文件中注释掉DATABASES部分。

由于我不想使用SQLite数据库,因此问题不再存在。稍后,您可以使用对您有效的db更新DATABASE信息。

© www.soinside.com 2019 - 2024. All rights reserved.