Hub 文档
marimo on Spaces
并获得增强的文档体验
开始使用
marimo on Spaces
marimo 是一个用于 Python 的响应式笔记本,它将笔记本建模为数据流图。当你运行一个单元格或与 UI 元素交互时,marimo 会自动运行受影响的单元格(或将其标记为过期),保持代码和输出的一致性,并在错误发生前进行预防。每个 marimo 笔记本都以纯 Python 形式存储,可以作为脚本执行,并可以部署为应用程序。
主要特点
- ⚡️ 响应式: 运行一个单元格后,marimo 会响应式地运行所有依赖单元格或将其标记为过期
- 🖐️ 交互式: 将滑块、表格、绘图等绑定到 Python — 无需回调
- 🔬 可复现: 无隐藏状态,确定性执行,内置包管理
- 🏃 可执行: 作为 Python 脚本执行,通过 CLI 参数进行参数化
- 🛜 可共享: 部署为交互式 Web 应用或幻灯片,通过 WASM 在浏览器中运行
- 🛢️ 为数据设计: 使用 SQL 查询数据框和数据库,过滤和搜索数据框
在 Spaces 上部署 marimo 应用
要在 Spaces 上开始使用 marimo,请点击下面的按钮
这将使用 marimo 的 Docker 模板开始构建你的 Space。如果成功,你应该会看到一个与 marimo 介绍笔记本 类似的应用程序。
自定义你的 marimo 应用
当你创建 marimo Space 时,你会得到一些关键文件来帮助你入门
1. app.py
这是你的主 marimo 笔记本文件,定义了你应用程序的逻辑。marimo 笔记本是纯 Python 文件,使用 @app.cell
装饰器定义单元格。要了解更多关于构建笔记本和应用程序的信息,请参阅 marimo 文档。随着你的应用程序的增长,你可以将代码组织成模块并导入到你的主笔记本中。
2. Dockerfile
marimo 应用程序的 Dockerfile 是最小的,因为 marimo 几乎没有系统依赖。主要要求是
- 它会安装
requirements.txt
中列出的依赖项(使用uv
) - 它会创建一个非 root 用户以确保安全
- 它会使用
marimo run app.py
运行应用程序
如果你的应用程序需要额外的系统依赖项、权限或其他 CLI 标志,你可能需要修改此文件。
3. requirements.txt
Space 会自动安装 requirements.txt
文件中列出的依赖项。至少,你必须在此文件中包含 marimo
。你还需要添加你的应用程序所需的任何其他包。
marimo Space 模板提供了一个基本设置,你可以根据自己的需求进行扩展。部署后,你的笔记本将以“应用程序模式”运行,该模式会隐藏代码单元格,只显示交互式输出——非常适合与最终用户共享。你可以通过在 Dockerfile 中将 --include-code
添加到 marimo run
命令来选择在应用程序中包含代码单元格。
其他资源和支持
故障排除
如果你遇到问题
- 确保你的笔记本使用
marimo run app.py
在本地以应用程序模式运行 - 检查
requirements.txt
中是否列出了所有必需的包 - 验证端口配置是否匹配(Spaces 默认为 7860)
- 检查 Space 日志中是否存在任何 Python 错误
如需更多帮助,请访问 marimo Discord 或 提交问题。
< > 在 GitHub 上更新