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é:
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).
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.
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.
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.
Réponses:
Vous n'avez pas besoin d'installer le
sqlite3
module. Il est inclus dans la bibliothèque standard (depuis Python 2.5).la source
libsqlite3-dev
.J'ai python 2.7.3 et cela a résolu mon problème:
la source
Pour Python version 3:
la source
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 .
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.
la source