django迁移错误,python3中的sqlite版本

django迁移错误,python3中的sqlite版本,python,django,python-3.x,sqlite,centos7,Python,Django,Python 3.x,Sqlite,Centos7,我正在尝试在linux centos7服务器上学习python django教程。 我安装了python3、pip、django、virtualenv、sqlite # virtualenv -p python3 venv # source venv/bin/activate (venv) # pip3 install django Successfully installed django-2.2.1 pytz-2019.1 sqlparse-0.3.0 (venv) # django-ad

我正在尝试在linux centos7服务器上学习python django教程。 我安装了python3、pip、django、virtualenv、sqlite

# virtualenv -p python3 venv
# source venv/bin/activate
(venv) # pip3 install django 
Successfully installed django-2.2.1 pytz-2019.1 sqlparse-0.3.0
(venv) # django-admin startproject firstdjango
# cd firstdjango

# python3 manage.py runserver
... LookupError: No installed app with label 'admin'.

# python3 manage.py migrate
... django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
问题1。sqlite3版本 我已经安装了最新的sqlite3。版本是3.27.2

# sqlite3 --version
3.27.2

# sqlite3.7 --version (backup initial sqlite3)
3.7.17
但在python3中,sqlite3版本仍然是3.7.17

# python3 -c "import sqlite3; print(sqlite3.sqlite_version);"
3.7.17
我如何解决这个问题

如果您需要有关我的centos7配置的其他信息,请回复。多谢各位

操作系统Centos7

# python3 --version
Python 3.7.3

# pip3 --version
pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

# pip3 list virtualenv
Package    Version
---------- -------
Django     2.2
pip        19.1.1
pysqlite3  0.2.1
pytz       2018.9
setuptools 40.8.0
sqlparse   0.3.0
virtualenv 16.4.3

# python3 -c "import django; print(django.VERSION);"
(2, 2, 0, 'final', 0)

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

# sqlite3.7 --version (backup initial sqlite3)
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

# python3 -c "import sqlite3; print(sqlite3.sqlite_version);"
3.7.17

# python3 -c "import django; print(django.VERSION);"
(2, 2, 0, 'final', 0)

试试下面的方法

  • 查找此sqlite3所在的位置<代码>哪个sqlite3这将为您提供此文件的路径
  • 然后重命名
    sqlite3~>sqlite3\u备份
  • 对sqlite3.7执行同样的操作
    哪个sqlite3.7
    转到路径并重命名
    sqlite3.7~>sqlite3
  • 然后运行migrate命令,查看问题是否仍然存在

  • 我遇到了一个类似的问题,我安装的python没有使用SQLLite库进行编译。这只发生在我的CentOS上,在Ubuntu上从来都不是问题。解决方案是从源代码构建python,并与系统python一起安装

  • 安装二进制版本的pysqlite3(附带预编译的较新版本的sqlite库,更多信息:)
  • pip安装pysqlite3二进制文件
    
  • 在python代码中,使用pysqlite3而不是sqlite3,如:
  • 导入pysqlite3
    (…)conn=pysqlite3.connect(r“filename”)
    
    谢谢您的回复
    1<代码>#哪个sqlite3~>/usr/local/bin/sqlite3版本是3.27.2
    3-1<代码>#哪个sqlite3.7~>/usr/bin/sqlite3.7版本是3.7.17
    2和3-2
    mv/usr/local/bin/sqlite3/usr/local/bin/sqlite3_backup
    mv/usr/bin/sqlite3.7/usr/local/bin/sqlite3
    是否正确
    在运行这些代码之前,我想听听您对以下代码的解释
    我认为版本从3.27.2降级到3.7.17。是吗?谢谢。您知道关于“从源代码构建python并与系统python并行安装”的教程吗?