¿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.

Jin-Dominique
fuente
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).

falsetru
fuente
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
nicolimo86
fuente
10
Considere que esto no es aplicable a Python 3.
Phyticist
40

Para Python versión 3:

pip install pysqlite3 
Hoss
fuente
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.

Jonathan Komar
fuente
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