ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

如何配置 marimo:运行时行为与编辑器设置的实用指南

如何配置 marimo:运行时行为与编辑器设置的实用指南 如何配置 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/marimomarimo 是一个以纯 Python 文件保存的响应式笔记本同一份文件可当笔记本、跑 SQL、当脚本执行、部署成应用。它内置三层配置脚本头 项目级 pyproject.toml 用户级 marimo.toml就近生效、改完即生效。适合想摆脱 Jupyter 配置碎片化、又要用 git 管理实验的 Python 数据开发者。快速上手三步跑通配置先看最短路径。装好后任何配置改动都遵循同一个原则改文件、重启marimo edit立即生效。# 安装 marimo 本体 pip install marimo# 查看当前合并后的配置并定位配置文件位置 marimo config show打开任意笔记本后点右上角 ⚙️Notebook Settings能改单本设置点底部「User settings」能改全局设置。用界面改和直接改 toml 文件等价但被脚本头或 pyproject.toml 覆盖的项在界面里改不会生效——这点后面会再提醒。想让改动只影响某本笔记本作用把配置写进笔记本文件顶部随文件一起被 git 追踪别人 clone 下来行为完全一致。操作在.py文件最上面加一个 PEP 723script块这是三层里优先级最高的一层。# 写在 notebook.py 顶部仅对本文件生效 # /// script # [tool.marimo.runtime] # auto_instantiate false # 打开时不自动跑所有单元格 # on_cell_change lazy # 改上游只标 stale不自动重跑 # [tool.marimo.display] # theme dark # ///验证marimo edit notebook.py打开后单元格不会自动执行改上游单元格只出现「stale」角标点运行才重算。仓库里可直接参考 examples/misc/custom_configuration.py 的完整写法。遇到昂贵单元格反复重跑作用控制 marimo 何时自动重算避免拖慢调试。相关键集中在runtime组默认值见 marimo/_config/config.py。操作在pyproject.toml加[tool.marimo.runtime]只写要改的项其余沿用默认。# pyproject.toml —— 项目级覆盖用户配置 [tool.marimo.runtime] auto_instantiate false # 默认 false打开不自动跑 on_cell_change lazy # 默认 autorun改 lazy 只标 stale auto_reload lazy # 默认 off改模块文件时只标 stale 不重跑 default_sql_output polars # 默认 auto统一 SQL 结果格式验证保存后重进编辑器编辑被导入的.py模块时相关单元格变 stale 而不是自动执行你手动决定何时跑。on_cell_change和auto_reload都支持off / lazy / autorun三档。如何调编辑器外观与保存行为这些默认值在 marimo/_config/config.py 的DEFAULT_CONFIG里改起来都是几个键的事。用表格速查不贴长配置。组键默认值作用displaythemelightlight/dark/systemdisplaycode_editor_font_size14编辑器字号displaydefault_widthmediumnormal/compact/medium/full/columnsdisplayreference_highlightingtrue高亮并跳转到变量定义单元格displaydefault_table_page_size10表格默认行数saveautosaveafter_delayoff/after_delaysaveautosave_delay1000自动保存延迟毫秒saveformat_on_savefalse保存时是否格式化formattingline_length79换行长度keymappresetdefaultdefault/vim另有overrides自定义快捷键package_managementmanager自动检测pip/uv/poetry/pixi/rye想开 Vim 键位、保存时强制格式化改对应键保存即可。reference_highlighting打开后悬停引用变量会出现「Jump to defining cell」配合上一步的依赖面板左侧 DEPENDENCIES 树 迷你图能很快看清数据流。场景选型建议三种典型项目推荐配置不同。表里只列需要动的键其余保持默认。场景关键配置为什么数据探索 / 分析on_cell_change autorun默认、default_sql_output polars、dataframes rich边改边看结果SQL 统一成 DataFrame昂贵 / 有副作用的笔记本auto_instantiate false、on_cell_change lazy、auto_reload off把重算交给手动避免无意触发耗时或写库操作库开发 笔记本编排auto_reload autorun、pythonpath [src]改模块文件后自动重跑受影响单元格笔记本当 DAG 用常见坑与对策现象原因处理在 ⚙️ 里改了某项却没生效该项被脚本头或 pyproject.toml 覆盖界面优先级最低直接改对应 toml 文件别在界面改被覆盖的项打开笔记本没有自动运行auto_instantiate默认为false需要自动跑就设为true或手动点运行按钮编辑.py模块后笔记本没更新auto_reload默认为off设为lazy标 stale或autorun自动重跑找不到配置文件在哪查找顺序当前目录 → 父目录 →~/.marimo.toml→ XDG 目录跑marimo config show直接打印路径输出被截断output_max_bytes默认 8,000,000约 8MB超出即截断在runtime调大output_max_bytes/std_stream_max_bytes延伸阅读docs/guides/configuration/index.md配置优先级、.marimo.toml查找顺序、环境变量总表的官方说明。marimo/_config/config.pyDEFAULT_CONFIG全量默认值与各配置项的类型定义不确定默认值时查这里。把要改的项写进对应层级的文件重启marimo edit验证一次行为是否符合预期配置就落地了。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进