파이썬에 sqlite3 모듈을 어떻게 추가 할 수 있습니까?


107

누군가가 최신 버전의 Python과 함께 sqlite3 모듈을 설치하는 방법을 알려줄 수 있습니까? Macbook을 사용하고 있으며 명령 줄에서 다음을 시도했습니다.

pip install sqlite

그러나 오류가 나타납니다.


3
Python이 소스에서 수동으로 빌드되고이 오류가 발생하면 sqlite-devel 패키지를 먼저 설치 한 다음 @falsetru가 말했듯이 Python을 다시 빌드해야합니다. 패키지 이름은 운영 체제에 따라 다릅니다.
ngn999

소스에서 파이썬을 빌드하려고 시도하고이 오류가 발생하는 경우 :이 정말 좋은 대답은 bulild 프로세스와 필요한 종속성을 해결합니다. stackoverflow.com/a/6171511/6273503
Harper

답변:


187

sqlite3모듈 을 설치할 필요가 없습니다 . 표준 라이브러리에 포함되어 있습니다 (Python 2.5부터).


4
사실 :( sqlite3를 포함하지 않는 파이썬 2.5.4이
shevy

@ user722915, What 's New in Python 2.5에 따르면 SQLite 임베디드 데이터베이스의 래퍼 인 pysqlite 모듈 ( pysqlite.org )이 패키지 이름 sqlite3으로 표준 라이브러리에 추가되었습니다.
falsetru

10
python3이 소스에서 수동으로 빌드되고이 오류가 발생하면 먼저 sqlite-devel 패키지를 설치 한 다음 python3을 다시 빌드해야합니다.
ngn999

@ ngn999, OP에게 알리려면 질문에 더 잘 댓글을 달아야합니다. 이것은 매우 오랜 시간 동안 답변을 받았기 때문에 답변에 대해 의견을 말하면 OP에 통보되지 않습니다.
falsetru

3
@ ngn999, BTW, 패키지 이름은 운영 체제에 따라 다릅니다. 예를 들어 Ubuntu에서는 libsqlite3-dev.
falsetru

44

나는 파이썬 2.7.3을 가지고 있으며 이것은 내 문제를 해결했습니다.

pip install pysqlite

10
이것은 Python 3에는 적용되지 않는다는 것을 고려하십시오.
Phyticist

40

Python 버전 3의 경우 :

pip install pysqlite3 

15

일반적으로 포함됩니다. 그러나 @ ngn999가 말했듯이 파이썬이 소스에서 수동으로 빌드 된 경우에는 추가해야합니다.

다음은 캡슐화 된 버전의 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.