如何将 sqlite3 模块添加到 Python?
Posted
技术标签:
【中文标题】如何将 sqlite3 模块添加到 Python?【英文标题】:How can I add the sqlite3 module to Python? 【发布时间】:2013-11-01 02:19:35 【问题描述】:谁能告诉我如何在最新版本的 Python 旁边安装 sqlite3 模块? 我使用的是 Macbook,并且在命令行上尝试过:
pip install sqlite
但是弹出一个错误。
【问题讨论】:
如果你的python是手动从源代码构建的,遇到这个错误,你应该先安装sqlite-devel包,然后重新构建python,正如@falsetru所说,包名会因操作而异系统。 对于尝试从源代码构建 python 并遇到此错误的人:这个非常好的答案解决了您需要的构建过程和依赖项。 ***.com/a/6171511/6273503 【参考方案1】:您不需要安装sqlite3
模块。它包含在标准库中(从 Python 2.5 开始)。
【讨论】:
我实际上有一个不包含 sqlite3 的 python 2.5.4 :( @user722915,根据What's New in Python 2.5, pysqlite 模块(pysqlite.org),SQLite 嵌入式数据库的包装器,已添加到包名称 sqlite3 下的标准库中。 如果你的python3是手动从源码编译的,遇到这个错误,你应该先安装sqlite-devel包,再重新编译python3。 @ngn999,顺便说一句,软件包名称会因操作系统而异。例如,在 Ubuntu 中,它是libsqlite3-dev
。
真的是我的救命稻草!【参考方案2】:
对于 Python 版本 3:
pip install pysqlite3
【讨论】:
pysqlite3 只是一个包装器。如果您的系统中实际上没有 SQLite 库(或者如果您从源代码构建 Python,则没有开发包),它将无法工作。【参考方案3】:我有 python 2.7.3,这解决了我的问题:
pip install pysqlite
【讨论】:
请考虑这不适用于 Python 3。【参考方案4】:通常包括在内。但是,正如@ngn999 所说,如果您的python 是手动从源代码构建的,则必须添加它。
下面是一个脚本示例,该脚本将在您的用户目录中设置 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 解释器时没有安装所有系统包,也会发生这种情况。 我有一个要求,我不想干扰现有的 python 设置。这正是我所需要的。谢谢!!【参考方案5】:如果你在 python 中构建的 Sqlite 有错误,你可以使用 Conda 来解决这个冲突
conda install sqlite
【讨论】:
以上是关于如何将 sqlite3 模块添加到 Python?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 16.04 上将 FTS5 扩展与带有 Python 3.7 的 sqlite3 python 模块一起使用?
Python3教程:数据库模块(sqlite3,SQLite3)的运用
如何将 CSV 文件迁移到 Sqlite3(或 MySQL)? - Python