Bagaimana cara menambahkan modul sqlite3 ke Python?

107

Dapatkah seseorang memberi tahu saya cara menginstal modul sqlite3 bersama dengan versi terbaru Python? Saya menggunakan Macbook, dan pada baris perintah, saya mencoba:

pip install sqlite

tetapi kesalahan muncul.

Jin-Dominique
sumber
3
Jika python Anda dibangun dari sumber secara manual, dan menemui kesalahan ini, Anda harus menginstal paket sqlite-devel terlebih dahulu, kemudian membangun kembali python, seperti yang dikatakan @falsetru, nama paket akan bervariasi tergantung pada sistem Operasi.
ngn999
Untuk semua orang yang mencoba membangun python dari sumber dan mengalami kesalahan ini: Jawaban yang sangat bagus ini membahas proses bulild dan ketergantungan yang Anda butuhkan. stackoverflow.com/a/6171511/6273503
Harper

Jawaban:

187

Anda tidak perlu menginstal sqlite3modul. Itu termasuk dalam pustaka standar (sejak Python 2.5).

falsetru.dll
sumber
4
Saya sebenarnya memiliki python 2.5.4 yang tidak termasuk sqlite3 :(
shevy
@ user722915, Menurut Yang Baru di Python 2.5 , Modul pysqlite ( pysqlite.org ), pembungkus untuk database tertanam SQLite, telah ditambahkan ke pustaka standar dengan nama paket sqlite3.
falsetru
10
jika python3 Anda dibangun dari sumber secara manual, dan menemui kesalahan ini, Anda harus menginstal paket sqlite-devel terlebih dahulu, kemudian membangun ulang python3.
ngn999
@ ngn999, Anda sebaiknya mengomentari pertanyaan agar OP mengetahuinya. Karena ini dijawab sangat lama, dan tidak diberitahukan kepada OP jika Anda mengomentari jawabannya.
falsetru
3
@ ngn999, BTW, nama paket akan bervariasi tergantung pada sistem Operasi. Misalnya, di Ubuntu, itu libsqlite3-dev.
falsetru
44

Saya memiliki python 2.7.3 dan ini menyelesaikan masalah saya:

pip install pysqlite
nicolimo86.dll
sumber
10
Pertimbangkan bahwa ini tidak berlaku untuk Python 3.
Phyticist
40

Untuk Python versi 3:

pip install pysqlite3 
Hoss
sumber
15

Biasanya, itu disertakan. Namun, seperti yang dikatakan @ ngn999, jika python Anda dibuat dari sumber secara manual, Anda harus menambahkannya.

Berikut adalah contoh skrip yang akan menyiapkan versi enkapsulasi (lingkungan virtual) Python3 di direktori pengguna Anda dengan versi yang dienkapsulasi dari 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

Kenapa melakukan ini? Anda mungkin menginginkan lingkungan python modular yang dapat Anda hancurkan dan buat kembali sepenuhnya tanpa mempengaruhi sistem operasi Anda – untuk lingkungan pengembangan independen. Dalam hal ini, solusinya adalah menginstal sqlite3 juga secara modular.

Jonathan Komar
sumber
1
Dapat juga terjadi jika Anda menggunakan pyenv untuk mengelola versi Python Anda, tetapi Anda tidak memiliki semua paket sistem yang diinstal saat interpreter Python diinstal.
MarkNS