将 uv 与 marimo 结合使用
marimo 是一个开源的 Python 笔记本,它将交互式计算与传统软件的可复现性和可重用性相结合,让你能够使用 Git 进行版本控制、作为脚本运行并作为应用程序共享。由于 marimo 笔记本存储为纯 Python 脚本,因此它们能够与 uv 紧密集成。
你可以方便地将 marimo 作为独立工具使用,包括作为独立脚本、在项目中使用以及在非项目环境中使用。
将 marimo 作为独立工具使用
如需临时访问 marimo 笔记本,可随时在隔离环境中启动 marimo 服务器:
启动特定笔记本:
在 marimo 中使用内联脚本元数据
由于 marimo 笔记本存储为 Python 脚本,它们可以通过 uv 对脚本的支持,使用内联脚本元数据封装自己的依赖项。例如,要将 numpy 添加为笔记本的依赖项,请使用此命令:
要交互式编辑包含内联脚本元数据的笔记本,请使用:
marimo 将自动使用 uv 在包含脚本依赖项的隔离虚拟环境中启动你的笔记本。从 marimo UI 安装的包将自动添加到笔记本的脚本元数据中。
你可以选择将这些笔记本作为 Python 脚本运行,而无需打开交互式会话:
在项目中使用 marimo
如果你正在项目中工作,可以通过以下命令启动 marimo 笔记本并访问项目的虚拟环境(假设 marimo 是项目依赖项):
要为你的笔记本提供额外的包,可以将它们添加到你的项目中(使用 uv add),或者使用 marimo 内置的包安装 UI,它会代表你调用 uv add。
如果 marimo 不是项目依赖项,你仍然可以通过以下命令运行笔记本:
这将允许你在编辑笔记本时导入项目的模块。但是,以这种方式运行时通过 marimo UI 安装的包不会添加到你的项目中,并且在后续调用 marimo 时可能会丢失。
在非项目环境中使用 marimo
要在与项目无关的虚拟环境中运行 marimo,请直接将 marimo 添加到该环境:
此后,import numpy 将在笔记本中生效,marimo 的 UI 安装程序将代表你使用 uv pip install 将包添加到该环境中。
将 marimo 笔记本作为脚本运行
无论你的依赖项是如何管理的(使用内联脚本元数据、在项目内,或在非项目环境中),你都可以通过以下方式将 marimo 笔记本作为脚本运行:
这将把你的笔记本作为 Python 脚本执行,而无需在浏览器中打开交互式会话。