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:
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).
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:
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.
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.
Jawaban:
Anda tidak perlu menginstal
sqlite3
modul. Itu termasuk dalam pustaka standar (sejak Python 2.5).sumber
libsqlite3-dev
.Saya memiliki python 2.7.3 dan ini menyelesaikan masalah saya:
sumber
Untuk Python versi 3:
sumber
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 .
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.
sumber