Python'a sqlite3 modülünü nasıl ekleyebilirim?


110

Python'un en son sürümü ile birlikte sqlite3 modülünü nasıl kuracağımı biri bana söyleyebilir mi? Bir Macbook kullanıyorum ve komut satırında denedim:

pip install sqlite

ancak bir hata açılır.


3
Python'unuz kaynaktan manuel olarak oluşturulduysa ve bu hatayı karşılıyorsa, önce sqlite-devel paketini kurmalı, ardından @falsetru'nun dediği gibi python'u yeniden oluşturmalısınız, paket adı İşletim sistemine bağlı olarak değişecektir.
ngn999

Python'u kaynaktan derlemeye çalışan ve bu hatayla karşılaşan herkes için: Bu gerçekten iyi cevap, ihtiyaç duyduğunuz bulild sürecini ve bağımlılıkları adresler. stackoverflow.com/a/6171511/6273503
Harper

Yanıtlar:


191

sqlite3Modül kurmanıza gerek yok . Standart kitaplığa dahil edilmiştir (Python 2.5'ten beri).


4
Aslında
sqlite3'ü

@ user722915, Python 2.5'teki Yeniliklere Göre , SQLite gömülü veritabanı için bir sarmalayıcı olan pysqlite modülü ( pysqlite.org ), sqlite3 paket adı altında standart kitaplığa eklenmiştir.
falsetru

10
python3'ünüz kaynaktan manuel olarak oluşturulduysa ve bu hatayla karşılaşırsanız, önce sqlite-devel paketini kurmalı, ardından python3'ü yeniden oluşturmalısınız.
ngn999

@ ngn999, OP'ye bildirmek için soruya yorum yapsanız iyi olur. Çünkü bu çok uzun süredir cevaplandı ve cevaba yorum yaparsanız OP'ye bildirilmedi.
falsetru

3
@ ngn999, BTW, paket adı İşletim sistemine bağlı olarak değişecektir. Örneğin, Ubuntu'da libsqlite3-dev.
falsetru

44

Python 2.7.3'e sahibim ve bu sorunumu çözdü:

pip install pysqlite

10
Bunun Python 3 için geçerli olmadığını düşünün.
Phyticist

41

Python sürüm 3 için:

pip install pysqlite3 

16

Normalde dahildir. Bununla birlikte, @ ngn999'un dediği gibi, python'unuz kaynaktan manuel olarak oluşturulmuşsa, onu eklemeniz gerekir.

Burada, sqlite3'ün kapsüllenmiş bir sürümü ile kullanıcı dizininizde Python3'ün kapsüllenmiş bir sürümünü (sanal ortam) kuracak bir betik örneği verilmiştir .

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

Bunu neden yapıyorsun? Bağımsız bir geliştirme ortamı için, işletim sisteminizi etkilemeden tamamen yok edip yeniden oluşturabileceğiniz modüler bir python ortamı isteyebilirsiniz. Bu durumda çözüm, sqlite3'ü modüler olarak kurmaktır.


1
Python sürümlerinizi yönetmek için pyenv kullanıyorsanız, ancak Python yorumlayıcısı kurulduğunda tüm sistem paketlerini yüklemediyseniz de olabilir.
MarkNS
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.