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