安装¶
注意
如果您只是想试用 Datasette,无需安装任何东西:请参阅使用 Glitch 无需安装即可试用 Datasette
安装 Datasette 主要有两种选择。您可以将其直接安装到您的机器上,或者使用 Docker 安装。
如果您想通过安装一个允许您直接修改代码的副本,开始为 Datasette 项目做贡献,请查看我们的设置开发环境指南。
基本安装¶
适用于 Mac 的 Datasette Desktop¶
Datasette Desktop 是一个打包好的 Mac 应用程序,它将 Datasette 与 Python 捆绑在一起,允许您直接在笔记本电脑上安装和运行 Datasette。如果您不习惯使用命令行,这是本地安装的最佳选择。
使用 Homebrew¶
如果您使用 Mac 并使用 Homebrew,您可以在终端中运行此命令安装 Datasette
brew install datasette
这将安装最新版本。您可以通过运行以下命令进行确认
datasette --version
您可以使用以下命令升级到最新的 Homebrew 打包版本
brew upgrade datasette
安装 Datasette 后,您可以使用以下命令安装插件
datasette install datasette-vega
如果 Datasette 的最新打包版本尚未通过 Homebrew 提供,您可以使用以下命令原地升级您的 Homebrew 安装
datasette install -U datasette
使用 pip¶
Datasette 需要 Python 3.7 或更高版本。Python.org Python 新手入门页面提供了入门说明。
您可以使用 pip
安装 Datasette 及其依赖项
pip install datasette
现在您可以像这样运行 Datasette
datasette
高级安装选项¶
使用 pipx¶
pipx 是一个用于在隔离环境中安装 Python 软件及其所有依赖项的工具,以确保它们不会与任何其他已安装的 Python 软件冲突。
如果您在 macOS 上使用 Homebrew,您可以这样安装 pipx
brew install pipx
pipx ensurepath
不使用 Homebrew 的话,您可以这样安装
python3 -m pip install --user pipx
python3 -m pipx ensurepath
pipx ensurepath
命令配置您的 shell,以确保它可以找到由 pipx 安装的命令——通常是通过确保 ~/.local/bin
已添加到您的 PATH
中来实现。
安装 pipx 后,您可以使用它这样安装 Datasette
pipx install datasette
然后运行 datasette --version
以确认已成功安装。
使用 pipx 安装插件¶
您可以使用 pipx inject
安装其他 datasette 插件,如下所示
$ pipx inject datasette datasette-json-html
injected package datasette-json-html into venv datasette
done! ✨ 🌟 ✨
$ datasette plugins
[
{
"name": "datasette-json-html",
"static": false,
"templates": false,
"version": "0.6"
}
]
使用 pipx 升级软件包¶
您可以使用 pipx upgrade datasette
将您的 pipx 安装升级到 Datasette 的最新版本
$ pipx upgrade datasette
upgraded package datasette from 0.39 to 0.40 (location: /Users/simon/.local/pipx/venvs/datasette)
要在 pipx 环境中升级插件,请使用 pipx runpip datasette install -U name-of-plugin
- 就像这样
% datasette plugins
[
{
"name": "datasette-vega",
"static": true,
"templates": false,
"version": "0.6"
}
]
$ pipx runpip datasette install -U datasette-vega
Collecting datasette-vega
Downloading datasette_vega-0.6.2-py3-none-any.whl (1.8 MB)
|████████████████████████████████| 1.8 MB 2.0 MB/s
...
Installing collected packages: datasette-vega
Attempting uninstall: datasette-vega
Found existing installation: datasette-vega 0.6
Uninstalling datasette-vega-0.6:
Successfully uninstalled datasette-vega-0.6
Successfully installed datasette-vega-0.6.2
$ datasette plugins
[
{
"name": "datasette-vega",
"static": true,
"templates": false,
"version": "0.6.2"
}
]
使用 Docker¶
包含 Datasette 最新版本的 Docker 镜像已发布到 Docker Hub:https://hub.docker.com/r/datasetteproject/datasette/
如果您的机器上安装了 Docker(例如在 OS X 上使用 Docker for Mac),您可以这样下载并运行此镜像
docker run -p 8001:8001 -v `pwd`:/mnt \
datasetteproject/datasette \
datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db
这将在您机器的 8001 端口启动一个 Datasette 实例,服务当前目录中的 fixtures.db
文件。
现在访问 http://127.0.0.1:8001/ 以访问 Datasette。
(您可以从 https://latest.datasette.io/fixtures.db 下载 fixtures.db
文件的副本)
要升级到 Datasette 的最新版本,请运行以下命令
docker pull datasetteproject/datasette
加载 SpatiaLite¶
datasetteproject/datasette
镜像包含 SQLite 的 SpatiaLite 扩展 的最新版本。要加载并启用该模块,请使用以下命令
docker run -p 8001:8001 -v `pwd`:/mnt \
datasetteproject/datasette \
datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db \
--load-extension=spatialite
您可以通过访问 http://127.0.0.1:8001/-/versions 确认 SpatiaLite 已成功加载
安装插件¶
如果您想将插件安装到您的本地 Datasette Docker 镜像中,可以使用以下方法。这将安装插件,然后保存一个新的本地镜像,名为 datasette-with-plugins
docker run datasetteproject/datasette \
pip install datasette-vega
docker commit $(docker ps -lq) datasette-with-plugins
现在您可以像这样运行新的自定义镜像
docker run -p 8001:8001 -v `pwd`:/mnt \
datasette-with-plugins \
datasette -p 8001 -h 0.0.0.0 /mnt/fixtures.db
您可以通过访问 http://127.0.0.1:8001/-/plugins 确认插件已安装
某些插件(例如 datasette-ripgrep)可能需要额外的系统软件包。您可以通过在容器内运行 apt-get install 来安装这些软件包
docker run datasette-057a0 bash -c '
apt-get update &&
apt-get install ripgrep &&
pip install datasette-ripgrep'
docker commit $(docker ps -lq) datasette-with-ripgrep
关于扩展的说明¶
SQLite 支持扩展,例如用于地理空间操作的 SpatiaLite。
可以使用 --load-extension
参数加载这些扩展,如下所示
datasette --load-extension=/usr/local/lib/mod_spatialite.dylib
某些 Python 安装不包含对 SQLite 扩展的支持。如果出现这种情况,当您尝试加载扩展时,您将看到以下错误
您的 Python 安装无法加载 SQLite 扩展。
在某些情况下,您可能会看到以下错误消息
AttributeError: 'sqlite3.Connection' object has no attribute 'enable_load_extension'
在 macOS 上,最简单的解决方法是使用 Homebrew 安装 Datasette
brew install datasette
使用 which datasette
确认 datasette
将运行该版本。输出应如下所示
/usr/local/opt/datasette/bin/datasette
如果您在此处看到不同的位置,例如 /Library/Frameworks/Python.framework/Versions/3.10/bin/datasette
,您可以运行以下命令,让 datasette
转而执行 Homebrew 版本
alias datasette=$(echo $(brew --prefix datasette)/bin/datasette)
您可以使用以下命令撤销此操作
unalias datasette
如果您需要为其他 Python 代码运行支持扩展的 SQLite,您可以使用 Homebrew 安装 Python 本身来实现
brew install python
然后使用以下命令执行 Python
/usr/local/opt/python@3/libexec/bin/python
与此版本的 Python 一起工作的更方便的方式是使用它创建一个虚拟环境
/usr/local/opt/python@3/libexec/bin/python -m venv datasette-venv
然后像这样激活它
source datasette-venv/bin/activate
现在运行 python
和 pip
将针对支持 SQLite 扩展的 Python 3 版本运行
pip install datasette
which datasette
datasette --version