我已经将一个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新手,希望能得到帮助。
我用下面的代码补丁解决了类似的情况。按照我在自己的centos7上使用的这些步骤,一切都应该正常。 请记住让您的centos7知道您正在调用
python3
,而不仅仅是python
,否则它将调用默认python2,然后在您的virtualenv
中出现一系列错误。安装python3(从源代码):
然后运行:
source .bash_profile
确认人
正在安装sqlite3(从源代码):
现在这也是你应该记住的,因为centos7知道在哪里可以找到你的python3,而不是默认的python2。在您的
.bash_profile
上,复制并通过这段代码或相应地编辑路径:通过运行:
source .bash_profile
使其永久 你已经完成了sqlite3 version >= 3.8
。确认人:然后可以继续使用python3安装python3模块,如django-2.2。
记住,是的
PYTHON3.7 -m pip3 install MODULE
服务器应该在运行。
因此,总结一下,在上面的例子中是
migrate
,应该是这样的:我在CentOS 7.6和Python 3.7.3版本中也遇到了同样的错误。我想你用的是Django 2.2.*某个版本。在最新的Django 2.2版本中,他们更改了SQLIte版本,这是导致问题的原因。
这是关于SQLite的Django 2.2的release notes。
因此,可以使用此命令安装最新版本的Django 2.1。
我想问题已经解决了。
要检查哪个版本的SQLite Python正在使用:
对我来说,sqlite3的新版本在/usr/local/bin中,所以我不得不重新编译Python,让它看看:
我希望这会有帮助。
相关问题 更多 >
编程相关推荐