2.7.3 与 marimo 配合使用
2 分钟阅读
2.7.3 与 marimo 配合使用
marimo 是一个开源 Python notebook,它把交互式计算与传统软件的可复现性和可复用性结合起来,让你可以用 Git 做版本管理、作为脚本运行,并作为应用分享。由于 marimo notebook 以纯 Python 脚本形式存储,它们能够与 uv 紧密集成。
你可以轻松地把 marimo 当作独立工具使用、写成自包含脚本、在项目中使用,以及在非项目环境中使用。
把 marimo 当作独立工具使用
如需临时使用 marimo notebook,可以随时在隔离环境中启动 marimo 服务器:
| |
启动特定的 notebook:
| |
结合内联脚本元数据使用 marimo
由于 marimo notebook 以 Python 脚本形式存储,它们可以通过 uv 对脚本的支持用内联脚本元数据封装自己的依赖。例如,要把 numpy 添加为 notebook 的依赖,请使用:
| |
要交互式编辑包含内联脚本元数据的 notebook,请使用:
| |
marimo 会自动使用 uv 在包含脚本依赖的隔离虚拟环境中启动你的 notebook。从 marimo UI 安装的包会自动加入 notebook 的脚本元数据。
你也可以选择把这些 notebook 当作 Python 脚本运行,而无需打开交互式会话:
| |
在项目中使用 marimo
如果你在项目中工作,可以通过下面的命令启动能够访问项目虚拟环境的 marimo notebook(假设 marimo 是项目依赖):
| |
要让 notebook 可以使用更多包,可以用 uv add 把它们加入项目,或者使用 marimo 内置的包安装 UI,它会代你调用 uv add。
如果 marimo 不是项目依赖,你仍然可以用下面的命令运行 notebook:
| |
这样你在编辑 notebook 时仍然可以导入项目的模块。不过,以这种方式运行时通过 marimo UI 安装的包不会被加入你的项目,并可能在后续调用 marimo 时消失。
在非项目环境中使用 marimo
要在不与项目关联的虚拟环境中运行 marimo,请把 marimo 直接加入该环境:
| |
这样 import numpy 就能在 notebook 中生效,而 marimo 的 UI 安装器会代你用 uv pip install 把包加入环境。
把 marimo notebook 当作脚本运行
无论你的依赖如何管理(使用内联脚本元数据、在项目中,或在非项目环境中),都可以这样把 marimo notebook 当作脚本运行:
| |
这会把你的 notebook 当作 Python 脚本执行,而不会在浏览器中打开交互式会话。