我正在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配置的其他信息,请回复。谢谢。
OS 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)
答案 0 :(得分:0)
尝试以下操作。
which sqlite3
,这将为您提供此文件的路径。sqlite3 ~> sqlite3_backup
which sqlite3.7
转到路径并重命名sqlite3.7 ~> sqlite3
答案 1 :(得分:0)
我遇到了一个类似的问题,其中我安装的python未使用SQLLite库进行编译。这只是在CentOS上发生在我身上,在Ubuntu上从来都不是问题。解决方案是从源代码构建python并将其与系统python并排安装。
答案 2 :(得分:0)
pip install pysqlite3-binary
import pysqlite3
(...) conn = pysqlite3.connect(r"filename")