You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用uv构建独立Marimo笔记本脚本报错:找不到marimo命令

问题:使用uv启动Marimo笔记本时提示找不到marimo命令

我想制作一个独立的Python文件,通过uv在后台将依赖安装至uv缓存,运行脚本后直接启动Marimo笔记本以简化分发流程。我编写了如下代码:

#!/usr/bin/env -S uv run -- marimo edit main.py

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "marimo",
#     "numpy",
#     "matplotlib",
# ]
# ///

import marimo


app = marimo.App()

@app.cell
def _():
    import marimo as mo
    return mo

@app.cell
def _():
    mo.md("## Hello, Marimo!")
    return

运行时出现错误:

error: Failed to spawn: `marimo`
  Caused by: No such file or directory (os error 2)

问题根源

你的shebang行写法有误:#!/usr/bin/env -S uv run -- marimo edit main.py 会让uv直接尝试调用marimo可执行文件,但此时uv还未安装marimo依赖——uv只有在运行Python脚本时才会解析/// script注释里的依赖配置,而当前命令是让uv启动外部的marimo程序,它不会先处理当前脚本的依赖。

修正方案

有两种可行的修改方式:

方式一:在脚本内启动Marimo编辑模式

修改shebang让uv运行当前脚本,然后在脚本末尾添加代码启动Marimo:

#!/usr/bin/env -S uv run

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "marimo",
#     "numpy",
#     "matplotlib",
# ]
# ///

import marimo
import subprocess
import sys


app = marimo.App()

@app.cell
def _():
    import marimo as mo
    return mo

@app.cell
def _():
    mo.md("## Hello, Marimo!")
    return

if __name__ == "__main__":
    # 通过Python模块方式调用marimo编辑当前文件,避免路径问题
    subprocess.run([sys.executable, "-m", "marimo", "edit", __file__], check=True)

运行逻辑:uv先解析/// script注释安装所有依赖,再执行脚本代码,最后调用Marimo编辑当前文件。

方式二:让uv先加载依赖再执行marimo命令

修改shebang使用--script参数,让uv先读取当前脚本的依赖配置,再执行marimo命令:

#!/usr/bin/env -S uv run --script -- marimo edit main.py

# /// script
# requires-python = ">=3.12"
# dependencies = [
#     "marimo",
#     "numpy",
#     "matplotlib",
# ]
# ///

# 以下为Marimo笔记本内容
import marimo


app = marimo.App()

@app.cell
def _():
    import marimo as mo
    return mo

@app.cell
def _():
    mo.md("## Hello, Marimo!")
    return

运行逻辑:uv通过--script参数读取当前脚本的依赖注释,安装完成后执行marimo edit main.py命令。


内容的提问来源于stack exchange,提问作者henrikstroem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:01:20