Hub 文档

marimo on Spaces

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

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 命令来选择在应用程序中包含代码单元格。

其他资源和支持

故障排除

如果你遇到问题

  1. 确保你的笔记本使用 marimo run app.py 在本地以应用程序模式运行
  2. 检查 requirements.txt 中是否列出了所有必需的包
  3. 验证端口配置是否匹配(Spaces 默认为 7860)
  4. 检查 Space 日志中是否存在任何 Python 错误

如需更多帮助,请访问 marimo Discord提交问题

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.