Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

523
Vistas
Django - deterministic=True requiere SQLite 3.8.3 o superior al ejecutar python manage.py runserver

Estoy ejecutando un entorno linux red hat de AWS.

He seguido todas las instrucciones para actualizar sqlite3 a la versión "más reciente".

Estoy ejecutando python 3.9.2 (y lo he vuelto a compilar con LD_RUN_PATH=/usr/local/lib ./configure ) y django versión 4.

He configurado un entorno virtual para instalar y ejecutar django. Cambié el script de activación para incluir export LD_LIBRARY_PATH="/usr/local/lib"

Al ejecutar python manage.py runserver , aparece el error django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher . Abrí el archivo /home/ec2-user/django/django/db/backends/sqlite3/base.py (donde ocurre el error) y justo después de la línea con el error incluí una declaración de impresión:

 print("**************************\n" + str(Database.sqlite_version) + "\n" + str(Database.sqlite_version_info) + "\n**************************")

que devuelve:

 ************************** 3.28.0 (3, 28, 0) ************************** ************************** 3.28.0 (3, 28, 0) **************************

Por favor, hágame saber qué información adicional se necesita. He buscado arriba y abajo en la stack y no puedo encontrar la solución correcta para pop esta.

¡Gracias de antemano!

EDITAR

Aquí está el rastreo:

 Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). Exception in thread django-main-thread: Traceback (most recent call last): File "/home/ec2-user/django/django/db/backends/base/base.py", line 219, in ensure_connection self.connect() File "/home/ec2-user/django/django/utils/asyncio.py", 21 in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/base/base.py", line 200, in connect self.connection = self.get_new_connection(conn_params) File "/home/ec2-user/django/django/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/sqlite3/base.py", line 210, in get_new_connection create_deterministic_function('django_date_extract', 2, _sqlite_datetime_extract) sqlite3.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/python/lib/python/3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/opt/python39/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/home/ec2-user/django/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/home/ec2-user/django/django/core/management/commands/runserver.py", line 126, in inner_run self.check_migrations() File "/home/ec2-user/django/django/core/management/base.py", line 486, in check_migrations executor = MigrationExecutor(connectsion[DEFAULT_DB_ALIAS]) File "/home/ec2-user/django/django/db/migrations/executor.py", line 18, in __init__ self.loader = MigrationLoader(self.connection) File "/home/ec2-user/django/django/db/migrations/loader.py", line 53, in __init__ self.build_graph() File "/home/ec2-user/django/django/db/migrations/loader.py", line 220, in build_graph self.applied_migrations = recorder.applied_migrations() File "/home/ec2-user/django/django/db/migrations/recorder.py", line 77, in applied_migrations if self.has_table(): File "/home/ec2-user/django/django/db/migrations/recorder.py", line 55, in has_table with self.connection.cursor() as cursor: File "/home/ec2-user/django/django/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/base/base.py", line 259, in cursor return self._cursor() File "/home/ec2-user/django/django/db/backends/base/base.py", line 235, in _cursor self.ensure_connection() File "/home/ec2-user/django/djanog/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/base/base.py", line 219, in ensure_connection self.connect() File "/home/ec2-user/django/django/db/utils.py", line 90, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/ec2-user/django/django/db/backends/base/base.py", line 219, in ensure_connection self.connect() File "/home/ec2-user/django/django/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/base/base.py", line 200, in connect self.connection = self.get_new_connection(conn_params) File "/home/ec2-user/django/django/utils/asyncio.py", line 26, in inner return func(*args, **kwargs) File "/home/ec2-user/django/django/db/backends/sqlite3/base.py", line 210, in get_new_connection create_deterministic_function('django_date_extract', 2, _sqlite_datetime_extract) django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Encontré el mismo problema en mi Linux Centos7+python3.9.6+Django3.2.5. Aunque el sqlite3 está actualizado a la última versión. Parece que esto es inútil. Un tipo de solución es cambiar la base de datos de sqlite3 a pysqlite3. Después de activar virtualenv, instale pysqlite

 pip3 install pysqlite3 pip3 install pysqlite3-binary

y cambiar db en base.py

 vim python3.9.6/site-packages/django/db/backends/sqlite3/base.py # from sqlite3 import dbapi2 as Database # annotation from pysqlite3 import dbapi2 as Database # import pysqlite3

reinicie el servidor django y funciona.

over 4 years ago · Santiago Trujillo Denunciar

0

ingrese la descripción de la imagen aquí

Tengo el mismo problema que el tuyo. cuando traté de implementar en Elastic Beanstalk . En mi caso, usé Python 3.8 cuando inicié EB CLI de esta manera:

 eb init -p python-3.8 django-project ⛔

y que no es una buena versión de Python para ejecutarlo en Amazon Linux 2 de 64 bits (predeterminado). cambiar a python-3.7

 eb init -p python-3.7 django-project ✅
over 4 years ago · Santiago Trujillo Denunciar

0

Lo mejor que puedo imaginar en este momento es ir a /home/ec2-user/django/django/db/backends/sqlite3/base.py , cambiar la variable de función deterministic=True en get_new_connection() a deterministic=False .. .

Esto eliminará el error, pero parece una solución súper engañosa. Si alguien tiene una mejor solución, por favor hágamelo saber.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda