Comment puis-je ajouter le module sqlite3 à Python?

109

Quelqu'un peut-il me dire comment installer le module sqlite3 avec la version la plus récente de Python? J'utilise un Macbook et sur la ligne de commande, j'ai essayé:

pip install sqlite

mais une erreur apparaît.

Jin-Dominique
la source
3
Si votre python est construit manuellement à partir de la source et que vous rencontrez cette erreur, vous devez d'abord installer le package sqlite-devel, puis reconstruire python, comme @falsetru l'a dit, le nom du package variera en fonction du système d'exploitation.
ngn999
Pour tous ceux qui essaient de construire python à partir des sources et se heurtent à cette erreur: cette très bonne réponse concerne le processus de construction et les dépendances dont vous avez besoin. stackoverflow.com/a/6171511/6273503
Harper

Réponses:

189

Vous n'avez pas besoin d'installer le sqlite3module. Il est inclus dans la bibliothèque standard (depuis Python 2.5).

falsetru
la source
4
J'ai en fait un python 2.5.4 qui n'inclut pas sqlite3 :(
shevy
@ user722915, Selon les nouveautés de Python 2.5 , le module pysqlite ( pysqlite.org ), un wrapper pour la base de données embarquée SQLite, a été ajouté à la bibliothèque standard sous le nom de package sqlite3.
falsetru
10
si votre python3 est construit manuellement à partir des sources et que vous rencontrez cette erreur, vous devez d'abord installer le package sqlite-devel, puis reconstruire python3.
ngn999
@ ngn999, vous feriez mieux de commenter la question pour que OP le sache. Parce que cela a été répondu très longtemps, et il n'est pas notifié à OP si vous commentez la réponse.
falsetru
3
@ ngn999, BTW, le nom du package varie en fonction du système d'exploitation. Par exemple, dans Ubuntu, c'est libsqlite3-dev.
falsetru
44

J'ai python 2.7.3 et cela a résolu mon problème:

pip install pysqlite
nicolimo86
la source
10
Considérez que cela ne s'applique pas à Python 3.
Phyticist
40

Pour Python version 3:

pip install pysqlite3 
Hoss
la source
15

Normalement, il est inclus. Cependant, comme @ ngn999 l'a dit, si votre python a été construit manuellement à partir des sources, vous devrez l'ajouter.

Voici un exemple de script qui installera une version encapsulée (environnement virtuel) de Python3 dans votre répertoire utilisateur avec une version encapsulée 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

Pourquoi faire ceci? Vous souhaiterez peut-être un environnement Python modulaire que vous pouvez complètement détruire et reconstruire sans affecter votre système d'exploitation - pour un environnement de développement indépendant. Dans ce cas, la solution consiste également à installer sqlite3 de manière modulaire.

Jonathan Komar
la source
1
Cela peut également arriver si vous utilisez pyenv pour gérer vos versions de Python, mais que vous n'aviez pas tous les packages système installés lors de l'installation de l'interpréteur Python.
MarkNS