¿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é:
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).
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.
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.
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.
Respuestas:
No es necesario instalar el
sqlite3
módulo. Está incluido en la biblioteca estándar (desde Python 2.5).fuente
libsqlite3-dev
.Tengo Python 2.7.3 y esto resolvió mi problema:
fuente
Para Python versión 3:
fuente
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 .
¿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.
fuente