作者:LYJ189_163 | 来源:互联网 | 2022-10-29 16:02
我已经将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新手,不胜感激。
1> Kushan Gunas..:
我在CentOS 7.6和Python 3.7.3版本中遇到了相同的错误。我认为您正在使用Django 2.2。*的某些版本。在最新的Django 2.2中,他们更改了导致问题的SQLIte版本。
这是发行说明的Django的2.2左右的SQLite。
SQLite的最低支持版本从3.7.15增加到3.8.3。
因此,您可以使用此命令安装最新版本的Django 2.1。
pip install Django==2.1.*
我认为问题已经解决。
2> 小智..:
我使用以下代码补丁解决了类似的情况。按照我在我的centos7上使用的这些步骤操作,一切都会好起来的。请记住,不仅要让centos7知道您正在调用python3
,python
否则它将调用默认的python2,然后在您的脚本中出现一系列错误virtualenv
。
安装python3(从源代码):
cd ~
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
tar xJf Python-3.7.3.tar.xz
cd Python-3.7.3
./configure
make && make install
export PATH=$HOME/opt/python-3.7.3/bin:$PATH
然后运行: source .bash_profile
确认者
python3 --version
Python 3.7.3
安装sqlite3(从源代码):
$ cd ~
$ wget https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz
$ tar zxvf sqlite-autoconf-3290000.tar.gz
cd sqlite-autoconf-3290000
$./configure --prefix=$HOME/opt/sqlite
$ make && make install
现在,这也是您还应该记住为centos7做的事情,知道在哪里寻找python3,而不是默认使用python2。在您的.bash_profile
副本上并经过这段代码,或相应地编辑路径:
export PATH=$HOME/opt/sqlite/bin:$PATH
export LD_LIBRARY_PATH=$HOME/opt/sqlite/lib
export LD_RUN_PATH=$HOME/opt/sqlite/lib
通过运行使其永久化:source .bash_profile
并完成sqlite3 version >= 3.8
。通过以下方式确认:
sqlite3 --version
3.29.0 2019-07-10 17:32:03
然后,您可以继续使用python3安装django-2.2等python3模块。
python3.7 -m pip3 install virtualenv
(myvenv37)[me@test my_project]$ python3.7 -m pip3 install django
Successfully installed django-2.2.3 pytz-2019.1 sqlparse-0.3.0
记住,那是
PYTHON3.7 -m pip3 install MODULE
(myvenv37)[me@test my_project]$ python3.7 manage.py runserver
并且服务器应该正在运行。
因此,总而言之,在上述情况下为migrate
,&应该看起来像这样:
(venv)[me@test my_project]$ python3.7 manage.py migrate