安装

sqlite-utils 在 Linux、macOS 和 Windows 上进行了测试。

使用 Homebrew

使用 Homebrew 可以在 macOS 上安装sqlite-utils 命令行工具

brew install sqlite-utils

如果你已经安装了它并想升级到最新版本,可以运行

brew upgrade sqlite-utils

然后运行 sqlite-utils --version 来确认安装的版本。

使用 pip

PyPI 上的sqlite-utils 软件包同时包含 sqlite_utils Python 库sqlite-utils 命令行工具。你可以使用 pip 这样安装它们

pip install sqlite-utils

使用 pipx

pipx 是一个用于在独立的隔离环境中安装 Python 命令行应用程序的工具。你可以像这样使用 pipx 安装 sqlite-utils 命令行工具

pipx install sqlite-utils

sqlite3 的替代品

默认情况下,sqlite-utils 使用 Python 标准库中捆绑的 sqlite3 包。

根据你的操作系统,这可能会有一些限制。

在某些平台上,加载附加扩展(通过 conn.load_extension(...)--load-extension=/path/to/extension)的功能可能被禁用。

尝试修改现有表时,你还可能看到错误 sqlite3.OperationalError: table sqlite_master may not be modified

你可以通过安装 pysqlite3 软件包或 sqlean.py 软件包来解决这些限制,这两个软件包都提供了标准库 sqlite3 模块的直接替代品,但使用了最新版本的 SQLite 并完全支持加载扩展。

要安装 sqlean.py(它为所有主要平台提供了编译好的二进制 wheel 包),运行以下命令

sqlite-utils install sqlean.py

pysqlite3sqlean.py 没有提供 .iterdump() 方法的实现。要使用该方法(参见将数据库转储为 SQL)或 sqlite-utils dump 命令,你也应该安装 sqlite-dump 软件包

sqlite-utils install sqlite-dump

设置 shell 补全

可以使用这些命令为 sqlite-utils 命令配置 shell tab 补全。

对于 bash

eval "$(_SQLITE_UTILS_COMPLETE=bash_source sqlite-utils)"

对于 zsh

eval "$(_SQLITE_UTILS_COMPLETE=zsh_source sqlite-utils)"

将此代码添加到 ~/.zshrc~/.bashrc,以便在新 shell 启动时自动运行它。

有关更多详细信息,请参阅Click 文档