ошибка переноса django, версия sqlite в python3 - PullRequest
1 голос
/ 13 мая 2019

Я пытаюсь написать учебник по Python на django на сервере linux centos7. я установил 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)

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Я столкнулся с подобной проблемой, когда установленный мной питон не был скомпилирован с библиотеками SQLLite. Это случилось только со мной на CentOS, никогда не было проблемой на Ubuntu. Решением было собрать Python из исходного кода и установить его рядом с системным Python.

0 голосов
/ 13 мая 2019

Попробуйте следующее.

  1. Поиск, где присутствует этот sqlite3. which sqlite3 это даст вам путь к этому файлу.
  2. Затем переименуйте sqlite3 ~> sqlite3_backup
  3. Сделайте то же самое для sqlite3.7. which sqlite3.7 перейти на путь и переименовать sqlite3.7 ~> sqlite3
  4. Затем запустите команду migrate и посмотрите, существует ли проблема.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...