使用 Hugging Face Spaces 部署 marimo 交互式应用

发布时间:2026/9/13 2:22:13

使用 Hugging Face Spaces 部署 marimo 交互式应用 使用 Hugging Face Spaces 部署 marimo 交互式应用【免费下载链接】marimoA reactive notebook for Python — run reproducible experiments, query with SQL, execute as a script, deploy as an app, and version with git. Stored as pure Python. All in a modern, AI-native editor.项目地址: https://gitcode.com/GitHub_Trending/ma/marimo导读本指南讲解如何将 marimo notebook 以只读 Web 应用marimo run的形式部署到 Hugging Face Spaces让任何人都可以通过浏览器直接访问和交互你的数据应用。读完本文你将掌握完整的 Spaces 部署流程模板 fork、app.py替换、requirements.txt依赖管理并能结合 marimo 的服务端参数端口、host、认证令牌、健康检查端点等对线上应用进行精细化配置。Hugging Face 是一个面向机器学习模型与应用的一站式平台其 Spaces 功能允许开发者通过 Git 工作流快速发布交互式 Web 应用支持 Gradio、Streamlit 等主流框架。marimo notebook 本身就是以纯 Python.py文件存储的天然契合 Spaces 的 Git 部署模型——只需几个步骤即可把你的 marimo notebook 变成托管在 Hugging Face 上的实时交互应用。部署前置准备在动手部署之前请确保你已具备以下条件一个 marimo notebook即一个由marimo edit生成并保存的.py文件本文以app.py为例。它应包含你的应用逻辑与 UI 组件例如examples/third_party/huggingface/chatbot.py就是一个可直接改造的完整示例基于huggingface_hub的InferenceClient实现聊天机器人。一个requirements.txt列出 notebook 运行所需的全部第三方依赖如marimo、pandas、huggingface_hub等。Hugging Face 账号用于创建与管理你的 Space。四步完成部署marimo 官方为 Hugging Face Spaces 提供了开箱即用的应用模板整个部署过程可以概括为四个步骤1. 创建 Space 并复用官方模板在 Hugging Face 上新建一个 Space推荐直接 fork 或复制官方模板仓库marimo-team/marimo-app-template见 examples/third_party/huggingface/README.md 中的模板清单。除了基础应用模板官方还提供了面向不同场景的衍生模板Basic application templatemarimo-team/marimo-app-template通用基础模板适用于大多数 notebook 应用Chatbot templatemarimo-team/marimo-chatbot-template带聊天 UI 的模板对应仓库中的 chatbot.py 示例Text-to-image templatemarimo-team/marimo-text-to-image-template文生图应用模板对应 text-to-image.py 示例。模板仓库中已经预置了 Spaces 运行所需的骨架文件包括入口脚本app.py、依赖文件requirements.txt与 Docker 相关配置你无需从零搭建。2. 用你的 marimo notebook 替换app.py将模板仓库中的app.py内容替换为你自己的 marimo notebook 内容。这一步直接复制粘贴即可因为 marimo notebook 本身就是标准 Python 文件无需任何格式转换。值得强调的是Hugging Face Spaces 默认以marimo run app.py这类只读应用模式启动详见 部署总览即访问者看到的是可交互、可执行单元格的 Web 应用但无法查看或修改底层源码——默认情况下marimo run不会把 notebook 源码发送给浏览器客户端这保证了你的代码不会被普通访客从浏览器中读取包括通过开发者工具。如果你确实希望向访客公开代码可在启动命令中加入--include-code标志。3. 更新requirements.txt在模板的requirements.txt中加入 notebook 运行所需的全部依赖。一个典型的 marimo 应用requirements.txt至少包含marimo pandas numpy altair huggingface_hub提示Space 构建时会基于requirements.txt自动安装依赖因此请务必把 notebook 中import的所有第三方库都列全否则应用启动时会因缺失依赖而报错。4. 提交并等待自动部署把修改后的文件提交commit到你的 Space 仓库。Hugging Face 会自动检测到推送并触发构建安装依赖 → 启动应用 → 分配访问 URL。构建完成后你的 marimo notebook 就会以交互式 Web 应用的形式上线可以通过浏览器直接访问和操作。部署后的服务配置与运维要点应用上线后还可以结合 marimo 服务端的运行参数做进一步配置。这些参数由marimo run命令暴露其定义可在 marimo/_cli/cli.py 中查阅该命令支持-p/--port、--host、--base-url、--token/--no-token、--token-password、--include-code等选项。端口与监听地址Spaces 平台会为容器指定对外端口因此启动命令通常需要显式监听marimo run app.py --host 0.0.0.0 -p 7860--host绑定地址默认127.0.0.1在容器化部署场景下必须设为0.0.0.0以接受外部连接-p/--port监听端口需与 Hugging Face Spaces 为容器分配的端口常见为7860保持一致。认证与安全Hugging Face Spaces 本身支持在平台层面设置私有PrivateSpace 或配置访问权限。在此基础上marimo 也提供内建令牌认证marimo run默认不启用令牌可通过--token显式开启或直接使用--token-password指定固定口令marimo run app.py --token --token-passwordyour-secret-token开启后访问者需要在登录页输入令牌或通过 URL 查询参数?access_tokenyour-secret-token、Authorization: Basic base64(any_username:your-secret-token)请求头完成认证详见 认证指南。如果你希望应用完全公开则保持默认的--no-token即可。健康检查与状态端点Spaces 平台会通过健康检查判断应用是否存活。marimo 内置了以下端点见 部署总览/health健康检查端点应用运行正常时返回 200/healthz与/health等价便于与各云平台健康检查探针集成/api/status返回包含服务器状态 JSON 的状态端点。子路径部署--base-url如果需要在某个子路径下托管应用例如配合 Spaces 的附加域名或反向代理可通过--base-url指定marimo run app.py --base-url /my-app该参数要求以/开头其合法性校验定义在marimo/_cli/cli.py的base_urlvalidator 中。进阶构建自己的 Space 模板除了直接使用官方模板你还可以参照 Docker 部署指南 的思路为 Spaces 编写自定义配置Spaces 支持 Dockerfile 模式。一种可行做法是在 Space 的 Dockerfile 中基于ghcr.io/marimo-team/marimo预构建镜像该镜像提供latest、latest-data预装 pandas/numpy/altair 等、latest-sql预装 SQL 支持等变体详见 预构建容器说明再追加你的应用文件与启动命令FROM ghcr.io/marimo-team/marimo:latest-data COPY app.py /app/app.py COPY requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt CMD [marimo, run, /app/app.py, --host, 0.0.0.0, -p, 7860]这种方式可以完全掌控运行时环境适合需要额外系统依赖或自定义 Python 版本的高级场景。参考与延伸阅读部署总览与通用配置端口、健康检查、WebSocket/SSE 传输、--include-code等docs/guides/deploying/index.md令牌认证与自定义 ASGI 中间件认证docs/guides/deploying/authentication.mdDocker 化部署与健康检查配置docs/guides/deploying/deploying_docker.md官方预构建镜像说明docs/guides/deploying/prebuilt_containers.md可直接部署到 Spaces 的 marimo 示例examples/third_party/huggingface/chatbot.py、examples/third_party/huggingface/text-to-image.py【免费下载链接】marimoA reactive notebook for Python — run reproducible experiments, query with SQL, execute as a script, deploy as an app, and version with git. Stored as pure Python. All in a modern, AI-native editor.项目地址: https://gitcode.com/GitHub_Trending/ma/marimo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/13 3:12:15

Arm mango是什么:嵌入式SDK成熟度评估核心机制解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码