sqlite3モジュールをPythonに追加するにはどうすればよいですか?


107

誰かが最新バージョンのPythonと一緒にsqlite3モジュールをインストールする方法を教えてもらえますか?私はMacbookを使用していますが、コマンドラインで次のことを試しました。

pip install sqlite

しかし、エラーがポップアップします。


3
Pythonがソースから手動でビルドされ、このエラーが発生した場合は、最初にsqlite-develパッケージをインストールしてから、Pythonを再構築する必要があります。@ falsetruによると、パッケージ名はオペレーティングシステムによって異なります。
ngn999 2016年

ソースからpythonをビルドしようとしてこのエラーが発生したすべての人にとって:この本当に良い答えは、必要なbulildプロセスと依存関係に対応しています。stackoverflow.com/a/6171511/6273503
Harper

回答:


187

sqlite3モジュールをインストールする必要はありません。標準ライブラリに含まれています(Python 2.5以降)。


4
私は実際にはsqlite3を含まないpython 2.5.4を持っています:(
シェビー14

@ user722915、「Python 2.5の新機能」によると、SQLite組み込みデータベースのラッパーであるpysqliteモジュール(pysqlite.org)が、パッケージ名sqlite3で標準ライブラリに追加されました。
falsetru 14

10
python3がソースから手動でビルドされ、このエラーが発生する場合は、最初にsqlite-develパッケージをインストールしてから、python3を再ビルドする必要があります。
ngn999 2016年

@ ngn999、OPに知らせるには、質問にコメントする方がよいでしょう。これは非常に長い間回答されたため、回答にコメントしてもOPに通知されないためです。
falsetru 2016年

3
@ ngn999、BTW、パッケージ名はオペレーティングシステムによって異なります。たとえば、Ubuntuではlibsqlite3-devです。
falsetru 2016年

44

私はpython 2.7.3を持っていて、これは私の問題を解決しました:

pip install pysqlite

10
これは、Python 3には適用されないことを考えてみましょう
Phyticist


15

通常は含まれています。ただし、@ ngn999が言ったように、Pythonがソースから手動でビルドされている場合は、追加する必要があります。

sqlite3カプセル化されたバージョンを使用して、ユーザーディレクトリにPython3のカプセル化されたバージョン(仮想環境)をセットアップするスクリプトの例を次に示します。

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

なぜこれを行うのですか?独立した開発環境の場合、オペレーティングシステムに影響を与えずに完全に破棄して再構築できるモジュラーPython環境が必要になる場合があります。この場合の解決策は、sqlite3をモジュール的にインストールすることです。


1
pyenvを使用してPythonバージョンを管理しているが、Pythonインタープリターのインストール時にすべてのシステムパッケージがインストールされていない場合にも発生する可能性があります。
MarkNS '10 / 10/19
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.