如何将 sqlite3模块添加到 Python 中?

有人能告诉我如何将 sqlite3模块与最新版本的 Python 一起安装吗? 我正在使用一台 Macbook,在命令行上,我尝试了:

pip install sqlite

但是出现了一个错误。

439527 次浏览

您不需要安装 sqlite3模块,它包含在标准库中(自 Python 2.5以来)。

我有 python2.7.3,这解决了我的问题:

pip install pysqlite

通常都包括在内。但是,正如@ngn999所说,如果您的 python 是手动从源代码构建的,那么您必须添加它。

下面是一个脚本示例,该脚本将使用 Sqlite3的封装版本在用户目录中设置 Python 3的封装版本(虚拟环境)

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。

对于 Python 版本3:

pip install pysqlite3

如果你在 Sqlite 内置了 python,你可以使用 Conda 来解决这个冲突

conda install sqlite

对于 Windows + Conda 用户: 您必须下载 sqlite3dll,解压缩并将文件复制到 Conda 安装路径中的 DLL 目录中

查看这个答案以了解更多细节