Может кто-нибудь сказать мне, как установить модуль sqlite3 вместе с самой последней версией Python? Я использую Macbook, и в командной строке я пробовал:
Если ваш python собран из исходного кода вручную и встретил эту ошибку, вы должны сначала установить пакет sqlite-devel, а затем перестроить python, как сказал @falsetru, имя пакета будет варьироваться в зависимости от операционной системы.
ngn999
Для всех, кто пытается собрать python из исходного кода и сталкивается с этой ошибкой: этот действительно хороший ответ касается процесса сборки и необходимых вам зависимостей. stackoverflow.com/a/6171511/6273503
Harper
Ответы:
190
Устанавливать sqlite3модуль не нужно . Он включен в стандартную библиотеку (начиная с Python 2.5).
На самом деле у меня есть python 2.5.4, в который не входит sqlite3 :(
shevy 04
@ user722915, согласно Что нового в Python 2.5 , модуль pysqlite ( pysqlite.org ), оболочка для встроенной базы данных SQLite, был добавлен в стандартную библиотеку под именем пакета sqlite3.
falsetru 04
10
Если ваш python3 собран из исходного кода вручную и встретил эту ошибку, вы должны сначала установить пакет sqlite-devel, а затем перестроить python3.
ngn999
@ ngn999, лучше прокомментируйте вопрос, чтобы ОП знал. Потому что на это ответили очень долго, и OP не уведомляется, если вы комментируете ответ.
falsetru
3
@ ngn999, кстати, имя пакета будет зависеть от операционной системы. Например, в Ubuntu это libsqlite3-dev.
Обычно он включен. Однако, как сказал @ ngn999, если ваш питон был построен из исходного кода вручную, вам придется его добавить.
Вот пример сценария, который установит инкапсулированную версию (виртуальную среду) Python3 в вашем пользовательском каталоге с инкапсулированной версией 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
Зачем это делать? Возможно, вам понадобится модульная среда Python, которую вы можете полностью уничтожить и перестроить, не затрагивая вашу операционную систему - для независимой среды разработки. В этом случае решение также состоит в том, чтобы установить sqlite3 модульно.
Также может произойти, если вы используете pyenv для управления версиями Python, но у вас не были установлены все системные пакеты, когда был установлен интерпретатор Python.
Ответы:
Устанавливать
sqlite3
модуль не нужно . Он включен в стандартную библиотеку (начиная с Python 2.5).источник
libsqlite3-dev
.У меня Python 2.7.3, и это решило мою проблему:
источник
Для Python версии 3:
источник
Обычно он включен. Однако, как сказал @ ngn999, если ваш питон был построен из исходного кода вручную, вам придется его добавить.
Вот пример сценария, который установит инкапсулированную версию (виртуальную среду) Python3 в вашем пользовательском каталоге с инкапсулированной версией sqlite3 .
Зачем это делать? Возможно, вам понадобится модульная среда Python, которую вы можете полностью уничтожить и перестроить, не затрагивая вашу операционную систему - для независимой среды разработки. В этом случае решение также состоит в том, чтобы установить sqlite3 модульно.
источник