【问题标题】:How can I add the sqlite3 module to Python?如何将 sqlite3 模块添加到 Python?
【发布时间】:2013-11-01 02:19:35
【问题描述】:

谁能告诉我如何在最新版本的 Python 旁边安装 sqlite3 模块? 我使用的是 Macbook,并且在命令行上尝试过:

pip install sqlite

但是弹出一个错误。

【问题讨论】:

  • 如果你的python是手动从源代码构建的,遇到这个错误,你应该先安装sqlite-devel包,然后重新构建python,正如@falsetru所说,包名会因操作而异系统。
  • 对于尝试从源代码构建 python 并遇到此错误的人:这个非常好的答案解决了您需要的构建过程和依赖项。 stackoverflow.com/a/6171511/6273503

标签: python sqlite pip


【解决方案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

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2012-09-09
    • 2016-05-27
    • 1970-01-01
    • 2011-09-05
    相关资源
    最近更新 更多