¿Cómo puedo agregar el módulo sqlite3 a Python?


107

¿Alguien puede decirme cómo instalar el módulo sqlite3 junto con la versión más reciente de Python? Estoy usando una Macbook, y en la línea de comando, intenté:

pip install sqlite

pero aparece un error.


3
Si su python se compila a partir de la fuente manualmente y cumple con este error, primero debe instalar el paquete sqlite-devel, luego reconstruir Python, como dijo @falsetru, el nombre del paquete variará según el sistema operativo.
ngn999

Para cualquiera que intente compilar Python desde la fuente y se encuentre con este error: Esta respuesta realmente buena aborda el proceso de construcción y las dependencias que necesita. stackoverflow.com/a/6171511/6273503
Harper

Respuestas:


187

No es necesario instalar el sqlite3módulo. Está incluido en la biblioteca estándar (desde Python 2.5).


4
De hecho, tengo un Python 2.5.4 que no incluye sqlite3 :(
shevy

@ user722915, de acuerdo con las novedades de Python 2.5 , el módulo pysqlite ( pysqlite.org ), un contenedor para la base de datos incrustada SQLite, se ha agregado a la biblioteca estándar con el nombre de paquete sqlite3.
falsetru

10
Si su python3 se compila a partir de la fuente manualmente y cumple con este error, primero debe instalar el paquete sqlite-devel y luego reconstruir python3.
ngn999

@ ngn999, será mejor que comente la pregunta para que OP lo sepa. Porque esto fue respondido por mucho tiempo, y no se notifica a OP si comenta la respuesta.
falsetru

3
@ ngn999, BTW, el nombre del paquete variará según el sistema operativo. Por ejemplo, en Ubuntu, es libsqlite3-dev.
falsetru

44

Tengo Python 2.7.3 y esto resolvió mi problema:

pip install pysqlite

10
Considere que esto no es aplicable a Python 3.
Phyticist

40

Para Python versión 3:

pip install pysqlite3 

15

Normalmente está incluido. Sin embargo, como dijo @ ngn999, si su Python se ha creado a partir de la fuente manualmente, tendrá que agregarlo.

Aquí hay un ejemplo de un script que configurará una versión encapsulada (entorno virtual) de Python3 en su directorio de usuario con una versión encapsulada de sqlite3 .

INSTALL_BASE_PATH="$HOME/local"
cd ~
mkdir build
cd build
[ -f Python-3.6.2.tgz ] || wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
tar -zxvf Python-3.6.2.tgz

[ -f sqlite-autoconf-3240000.tar.gz ] || wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz
tar -zxvf sqlite-autoconf-3240000.tar.gz

cd sqlite-autoconf-3240000
./configure --prefix=${INSTALL_BASE_PATH}
make
make install

cd ../Python-3.6.2
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib configure
LDFLAGS="-L ${INSTALL_BASE_PATH}/lib"
CPPFLAGS="-I ${INSTALL_BASE_PATH}/include"
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib make
./configure --prefix=${INSTALL_BASE_PATH}
make
make install

cd ~
LINE_TO_ADD="export PATH=${INSTALL_BASE_PATH}/bin:\$PATH"
if grep -q -v "${LINE_TO_ADD}" $HOME/.bash_profile; then echo "${LINE_TO_ADD}" >> $HOME/.bash_profile; fi
source $HOME/.bash_profile

¿Por qué hacer esto? Es posible que desee un entorno de Python modular que pueda destruir y reconstruir por completo sin afectar su sistema operativo, para un entorno de desarrollo independiente. En este caso, la solución es instalar sqlite3 modularmente también.


1
También puede suceder si usa pyenv para administrar sus versiones de Python, pero no tenía todos los paquetes del sistema instalados cuando se instaló el intérprete de Python.
MarkNS
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.