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

发布时间:2026/11/10 19:45:34

使用 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/11/10 19:40:46

二建特种工上岗内部消息:学历不高怕报不上名?真相来了

二建特种工上岗内部消息:学历不高怕报不上名?真相来了 你是不是觉得学历不高,就没办法考二建特种工上岗?别急,这事儿我来给你捋清楚。我干这行快十年了,见过太多人因为学历问题犹豫不决,结果一打听,根本没那么复杂。 内部消息…

2026/11/10 19:40:46

曲阜电工证好考吗网上查询报名流程和实操考试内容全解析

曲阜电工证好考吗网上查询报名流程和实操考试内容全解析 怕考不过白交培训费,这事儿我太懂了。去年我一个亲戚在南阳报名考电工证,交了3000块培训费,结果考试两门都挂了,跑去找培训机构理论,人家还推得一干二净。现在你要是想考曲阜电工证,怕是也得…

2026/11/10 19:40:46

范朝路电工证上岗必备怎么考?怕考不过白交培训费?南阳电工看过来

范朝路电工证上岗必备怎么考?怕考不过白交培训费?南阳电工看过来 怕考不过白交培训费?南阳不少电工朋友在报考范朝路电工证时都遇到过这个问题。尤其对于刚入行的电工来说,电工证是上岗必备的资质,但流程复杂、考试难度大,再加上培训费动辄几千块,真怕…

2026/11/10 8:12:38

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/10 0:01:28

学历不高怕报不上名?考电工证报名费+网上查询全攻略来了

学历不高怕报不上名?考电工证报名费+网上查询全攻略来了 你是不是也担心自己学历不高,考电工证报名费太贵,根本报不上名?别急,今天就来给你讲讲,怎么用最少的钱,把证拿到手,还能在工地上多挣点钱。 电工证报名费多少钱?网上查询是关键…

2026/11/10 0:01:29

绍兴考电工证培训机构怎么选?2026河南最新政策别错过

绍兴考电工证培训机构怎么选?2026河南最新政策别错过 怕考不过白交培训费?你不是一个人。2026河南最新政策出台,对电工证考试、报名、培训、复审都有明确规定。选择绍兴考电工证培训机构,别再踩坑,下面一步步教你避坑。…

2026/11/9 6:30:27

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

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

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

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

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