使用 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 内置的包安装界面,该界面会自动调用 uv add
。
如果 marimo 不是项目依赖项,仍可通过以下命令运行笔记本:
这样可以在编辑笔记本时导入项目模块。但以这种方式运行时,通过 marimo 界面安装的包不会添加到项目中,可能在后续调用 marimo 时消失。
在非项目环境中使用 marimo
要在不关联项目的虚拟环境中运行 marimo,请直接安装 marimo:
这样笔记本中就可以使用 import numpy
,且 marimo 的安装界面会通过 uv pip install
自动添加包到环境中。
将 marimo 笔记本作为脚本运行
无论你的依赖如何管理(通过脚本内联元数据、在项目中或使用非项目环境),都可以通过以下方式将 marimo 笔记本作为脚本运行:
这会以 Python 脚本形式执行笔记本,而不会在浏览器中打开交互式会话。