установить django на centos 6 (ошибка sqlite3) - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь установить Django 2.1 на Centos6, но у меня нет успеха.

в соответствии с этой проблемой и этой документацией Django 2.1 , Django 2.1 требует SQLite 3.7.15 и более поздних версий. узнав об этом, я попытался обновить sqlite и sqlite-devel до 3.7.17 с помощью CERT Forensics repo, но ничего не изменилось после обновления до 3.7.17, и я по-прежнему получаю эту ошибку при запуске сервера manage.py:

Performing system checks...

System check identified no issues (0 silenced). Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f7561c29950> Traceback (most recent call last):   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
    self.connect()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 159, in get_new_connection
    conn = Database.connect(**conn_params) sqlite3.NotSupportedError: URIs not supported

The above exception was the direct cause of the following exception:

Traceback (most recent call last):   File "/root/django-project/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)   File "/root/django-project/venv/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 120, in inner_run
    self.check_migrations()   File "/root/django-project/venv/lib/python3.6/site-packages/django/core/management/base.py", line 442, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/migrations/loader.py", line 49, in __init__
    self.build_graph()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/migrations/loader.py", line 212, in build_graph
    self.applied_migrations = recorder.applied_migrations()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 61, in applied_migrations
    if self.has_table():   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/migrations/recorder.py", line 44, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 255, in cursor
    return self._cursor()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 232, in _cursor
    self.ensure_connection()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
    self.connect()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 216, in ensure_connection
    self.connect()   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/base/base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)   File "/root/django-project/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 159, in get_new_connection
    conn = Database.connect(**conn_params) django.db.utils.NotSupportedError: URIs not supported

Понятия не имею, как исправить эту ошибку. с нетерпением жду ваших советов.

*** отредактировано 1:

это мой раздел базы данных в моем django setting.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

Я попробовал "sudo (мой путь к Python в виртуальной среде) ./manage.py runserver", но получил то же сообщение.

Я также проверил это, удалив раздел базы данных из файла setting.py. в этом случае Django работает без проблем, но мне нужна sqlite в качестве базы данных: D

*** изменить 2:

Я использую Python 3.6.7. это моя консоль Python и моя внутренняя версия sqlite в оболочке Python:

Python 3.6.7 (default, Dec  5 2018, 15:02:16)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.7.17'
...