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 上更新