Come posso aggiungere il modulo sqlite3 a Python?


107

Qualcuno può dirmi come installare il modulo sqlite3 insieme alla versione più recente di Python? Sto usando un Macbook e sulla riga di comando ho provato:

pip install sqlite

ma viene visualizzato un errore.


3
Se il tuo python è compilato manualmente dai sorgenti e incontra questo errore, dovresti prima installare il pacchetto sqlite-devel, quindi ricostruire python, come ha detto @falsetru, il nome del pacchetto varierà a seconda del sistema operativo.
ngn999

Per tutti coloro che cercano di compilare Python dai sorgenti e incappano in questo errore: questa risposta davvero buona affronta il processo bulild e le dipendenze di cui hai bisogno. stackoverflow.com/a/6171511/6273503
Harper

Risposte:


187

Non è necessario installare il sqlite3modulo. È incluso nella libreria standard (da Python 2.5).


4
In realtà ho un Python 2.5.4 che non include sqlite3 :(
shevy

@ user722915, Secondo Novità di Python 2.5 , il modulo pysqlite ( pysqlite.org ), un wrapper per il database incorporato SQLite, è stato aggiunto alla libreria standard con il nome del pacchetto sqlite3.
falsetru

10
se il tuo python3 è compilato manualmente dai sorgenti e incontra questo errore, dovresti prima installare il pacchetto sqlite-devel, quindi ricostruire python3.
ngn999

@ ngn999, faresti meglio a commentare la domanda per farlo sapere a OP. Perché a questa risposta è stata data una risposta molto lunga e non viene notificata a OP se si commenta la risposta.
falsetru

3
@ ngn999, BTW, il nome del pacchetto varierà a seconda del sistema operativo. Ad esempio, in Ubuntu, è libsqlite3-dev.
falsetru

44

Ho python 2.7.3 e questo ha risolto il mio problema:

pip install pysqlite

10
Considera che questo non è applicabile a Python 3.
Phyticist

40

Per Python versione 3:

pip install pysqlite3 

15

Normalmente è incluso. Tuttavia, come ha detto @ ngn999, se il tuo python è stato compilato manualmente dai sorgenti, dovrai aggiungerlo.

Di seguito è riportato un esempio di uno script che configurerà una versione incapsulata (ambiente virtuale) di Python3 nella directory utente con una versione incapsulata di 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

Perché fare questo? Potresti desiderare un ambiente Python modulare che puoi completamente distruggere e ricostruire senza influire sul tuo sistema operativo, per un ambiente di sviluppo indipendente. In questo caso, la soluzione è installare anche sqlite3 in modo modulare.


1
Può anche accadere se usi pyenv per gestire le tue versioni di Python, ma non avevi tutti i pacchetti di sistema installati quando è stato installato l'interprete Python.
MarkNS
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.