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

988
Vistas
Cómo usar la última versión de sqlite3 en python

Necesito usar sqlite versión 3.8 o superior con python en Amazon Linux.

Actualicé mi instalación de sqlite a la última versión:

 $ sqlite3 -version 3.22.0 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2171d

También actualicé mi versión de pysqlite

 pip install --upgrade pysqlite

Sin embargo, mi pysqlite todavía solo parece admitir la versión 3.7 de sqlite:

 $ python >>> import sqlite3 >>> sqlite3.version '2.6.0' >>> sqlite3.sqlite_version '3.7.17' >>> >>> from pysqlite2 import dbapi2 as sqlite >>> sqlite.version '2.8.3' >>> sqlite.sqlite_version '3.7.17'

¿Cómo puedo actualizar la API de sqlite python para admitir una versión más nueva de sqlite?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Opción 1: use la versión binaria de pysqlite3 desde aquí (que ya viene con una versión más nueva de sqlite3 lib precompilada y vinculada): https://github.com/coleifer/pysqlite3 . Básicamente instalar con

 pip install pysqlite3-binary

y en el código python, use pysqlite3 en lugar de sqlite3 como:

 import pysqlite3 (...) conn = pysqlite3.connect(r"filename")

Alternativa: Vuelva a instalar python, al instalar python, un módulo integrado sqlite3 de python (para trabajar con sqlite) está compilando y usa (compila) su propia versión de sqlite3 lib independientemente de lo que tenga actualmente en su sistema (este es el caso al menos en sistemas windows y mac, también puede ser el caso de sistemas basados en unix).

over 4 years ago · Santiago Trujillo Denunciar

0

Dos ideas...

  1. Use pyenv para instalar un intérprete separado y proporcione la ruta al sqlite más nuevo al crearlo. p.ej:

     PYTHON_CONFIGURE_OPTS="LD_RUN_PATH=/usr/local/opt/sqlite/lib LDFLAGS=-L/usr/local/opt/sqlite/lib CPPFLAGS=-I/usr/local/include" pyenv install 3.4.3

    Este número de pyenv proporciona más detalles/ideas.

  2. APSW proporciona una implementación actualizada de SQLite, pero tiene objetivos diferentes a los de la biblioteca pysqlite.

    APSW proporciona un contenedor SQLite 3 que proporciona la capa más delgada posible sobre la biblioteca de base de datos SQLite. Todo lo que puede hacer desde la API de SQLite C, puede hacerlo desde Python. Aunque APSW se parece vagamente a PEP 249 (DBAPI), no cumple con esa API porque funciona de la misma manera que SQLite 3. (pysqlite es compatible con DBAPI; consulte las diferencias entre apsw y pysqlite 2).

    APSW incorpora la distribución de "fusión" de SQLite de forma estática, por lo que puede usarla de forma segura en un entorno (por ejemplo, Python) que también podría tener cargado otro SQLite.

over 4 years ago · Santiago Trujillo Denunciar

0

Hay una distribución de rueda de Python no oficial de APSW que en sí misma no se lanza en PyPI :

APSW no está disponible en Python Package Index (pypi) y, por lo tanto, no se puede instalar desde allí. (Una persona al azar ha subido una carga obsoleta de mala calidad con el nombre de APSW. No tiene nada útil que ver con este proyecto). La razón de esto es [...]

Y supongo que la razón es anterior a las ruedas de Python.

El paquete de distribución de ruedas se llama apsw-wheels (y repositorio de GitHub ). Funcionó bien para mí, excepto por las ruedas PyPy.

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