CLI 深度¶
ch01 掌握了 manim render 的常用选项,本节把 --help 里其余选项按类别补齐,并讲清配置子命令 manim cfg 与 v0.21.0 的弃用标志。所有选项的描述均以本机 manim render --help 输出为准。
命令结构总览¶
manim [--version] [--show-splash / --hide-splash] COMMAND
子命令一览:
子命令 |
作用 |
|---|---|
|
渲染场景; |
|
管理配置文件(见下文) |
|
检查安装健康度(Python 版本、ffmpeg、LaTeX 等依赖) |
|
创建项目脚手架或向现有文件插入场景模板 |
|
列出已安装的插件(见“插件机制”一节) |
渲染控制类¶
选项 |
作用 |
|---|---|
|
画质五档 |
|
自定义分辨率(覆盖画质档) |
|
自定义帧率 |
|
只渲染第 N 到 M 个动画(0 起),M 省略则渲染到结尾 |
|
渲染文件中的全部场景 |
|
选择渲染器 |
|
输出带 alpha 通道的透明背景 |
|
固定随机种子 |
|
只执行逻辑,不产出图片/视频,也不开窗口 |
输出类¶
选项 |
作用 |
|---|---|
|
输出格式,默认 mp4 |
|
自定义输出文件名 |
|
只保存最后一帧 PNG |
|
PNG 文件名补零位数(0–9) |
|
输出根目录 |
|
日志目录 / 把终端日志写入文件 |
|
OpenGL 渲染时写出视频文件(OpenGL 默认只预览) |
缓存类¶
选项 |
作用 |
|---|---|
|
本次渲染不使用部分视频缓存(缓存文件仍会生成) |
|
渲染前删除已缓存的部分视频文件 |
|
并行编码的动画数上限(默认 1,详见“性能与缓存”) |
|
每个编码器积压的帧缓冲上限(默认 8,仅并行编码时生效) |
日志与交互类¶
选项 |
作用 |
|---|---|
|
日志详细程度;同时影响 ffmpeg 日志级别 |
|
进度条:显示 / 渲染完保留 / 关闭。CI 或管道输出时设 |
|
渲染后预览(OpenGL 弹实时窗口,Cairo 打开播放器) |
|
渲染后在文件管理器中定位输出文件 |
|
自定义预览命令(如 vlc) |
|
版本过期提醒开关 |
|
以 Jupyter magic 方式调用(配合 |
|
保留 TeX 产生的 .aux/.dvi/.log 中间文件 |
OpenGL 专属(一般用户用不到):--enable_wireframe、--force_window、--use_projection_fill_strokes、--use_projection_stroke_shaders、--enable_gui、--gui_location、--fullscreen。
全局选项¶
出现在所有子命令之前:--version、--show-splash / --hide-splash。注意 --config_file、-c 属于 render 的全局选项组(-c 指定配置文件,见“配置系统深度”)。
v0.21.0 的弃用标志¶
源码中的弃用警告(manim/cli/render/commands.py)确认了三个:
废弃提醒
-g, --save_pngs 与 -i, --save_as_gif 已标记弃用:请改用 --format png 与 --format gif。旧标志暂时仍可用,运行时会打印警告并自动映射到对应的 --format 值,未来版本可能移除。
废弃提醒
-f(show_in_file_browser 的短形式)已标记弃用:使用时日志会提示 “The short form of show_in_file_browser is deprecated”。目前功能仍正常,建议改用长选项 --show_in_file_browser,为 -f 未来改作 --format 短选项让路。
manim cfg 子命令¶
manim cfg 有三个子命令(注意没有 level 子命令,level 是 write 的选项):
子命令 |
作用 |
常用选项 |
|---|---|---|
|
打印当前生效的全部配置值 |
— |
|
交互式生成配置文件 |
|
|
把当前配置导出为文件 |
|
典型用法:
manim cfg show # 查看生效配置
manim cfg write --level cwd # 在当前目录生成 manim.cfg 模板
manim cfg export -d ./backups # 导出当前配置
常见错误与建议¶
常见错误
-n 的编号是动画序号(每个 play() 一个号)而不是时间,且从 0 开始;upto_animation_number 配置文件键同理。想按时间截取请用视频剪辑工具。
提示
记不住选项时记住两个入口:manim --help 看子命令全景,manim render --help 看全部渲染选项;manim cfg show 看“当前这次运行实际生效的值”。三者都是从本机安装版本输出的,永远比网络资料新。
自测¶
✏️ 练习
想把一个场景的输出格式改成 gif,同时文件名定为 demo,命令怎么写?旧的 -i -o demo 写法有什么问题?
✅ 参考答案
新写法:
manim -qm --format gif -o demo scene.py MyScene
-i 在 v0.21.0 已弃用(虽仍可用并打印警告),-o demo 本身没问题但注意 gif 模式下输出文件名按 zero_pad 与帧序列规则组织。推荐统一用 --format 控制输出类型。
✏️ 练习
manim cfg write 想生成项目级配置模板,加什么选项?cfg export 与它有什么区别?
✅ 参考答案
加 --level cwd(或 -l cwd)在当前目录生成 manim.cfg 模板;--level user 则写到用户级位置。cfg export 不是生成模板,而是把当前生效的配置导出到 -d 指定目录——适合备份或迁移配置。
下一步¶
命令行是驱动 Manim 的第一种方式。下一节看第二种方式:在 Python 脚本里直接调用 Scene.render(),把 Manim 当库用。