web-dev-qa-db-fra.com

Comment puis-je installer sqlite3 en Python?

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

pip install sqlite

mais une erreur apparaît.

81
Jin-Dominique

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

143
falsetru

J'ai python 2.7.3 et ceci résout mon problème:

pip install pysqlite
42
nicolimo86

Pour Python version 3:

pip install pysqlite3 
24
Hoss

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

Voici un exemple de script qui configurera un version encapsulée (environnement virtuel) de Python dans votre répertoire utilisateur avec un version encapsulée de sqlite.

INSTALL_BASE_PATH="$HOME/opt"
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 voudrez peut-être un environnement modulaire python 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 à installer sqlite3 également de manière modulaire.

10
Jonathan Komar