安装与运行环境¶
Manim 社区版(ManimCE)需要 Python 3.9 或更高版本。本教程的所有内容都基于 manim 0.21.0,安装时请锁定版本号,避免不同大版本之间的 API 差异。
pip¶
使用 pip 从 PyPI 安装,并显式指定版本:
pip install manim==0.21.0
建议使用虚拟环境,避免依赖冲突:
python -m venv .venv
source .venv/bin/activate # Windows 使用 .venv\Scripts\activate
pip install manim==0.21.0
如果你使用 uv,命令等价:
uv pip install manim==0.21.0
Manim 还提供了两个可选的附加组件:
附加组件 |
安装命令 |
用途 |
|---|---|---|
|
|
Typst 排版支持与 |
|
|
Jupyter Notebook / JupyterLab 环境 |
版本说明
不锁定版本号时,pip install manim 会安装当时的最新版,可能与本教程的 API 不一致。开始学习前请先运行 manim --version 核对版本。
验证安装¶
安装完成后运行:
manim --version
manim checkhealth
manim --version 应输出 Manim Community v0.21.0;manim checkhealth 会检查可执行文件、LaTeX、dvisvgm 等组件并给出每项的 PASSED / FAILED 状态。
然后渲染官方经典示例验证整条链路:
这是 Manim 的“Hello World”。如果这条命令能渲染出正方形变圆的动画,说明安装完全成功:
manim -pql examples/ch01/square_to_circle.py SquareToCircle
查看源码 square_to_circle.py
"""SquareToCircle: the classic first Manim scene.
Rendered by scripts/render_examples.py (one Scene class per file).
"""
from manim import *
class SquareToCircle(Scene):
def construct(self):
circle = Circle()
circle.set_fill(PINK, opacity=0.5)
square = Square()
square.flip(RIGHT)
square.rotate(-3 * TAU / 8)
circle.set_stroke(BLUE, width=4)
self.play(Create(square))
self.play(Transform(square, circle))
self.play(FadeOut(square))
self.wait()
## 系统依赖
自 v0.19.0 起,ffmpeg 已随 Python wheel 一起分发,`pip install manim` 之后即可直接渲染视频,无需再手动安装 ffmpeg。各平台的注意事项:
| 平台 | 需要额外做的事 |
| ---- | ---- |
| Windows | 无需额外安装,Pango / Cairo 均有预编译 wheel |
| macOS | 无需额外安装,Pango / Cairo 均有预编译 wheel |
| Linux | 少数发行版需装 Pango / Cairo 的系统库,如 `sudo apt install libpango1.0-0 libcairo2` |
```{admonition} 提示
:class: tip
只有需要渲染 `Tex` / `MathTex` 时才要求本地装有 LaTeX(如 TeX Live 或 MiKTeX);纯 `Text` 场景不需要。`manim checkhealth` 会告诉你 LaTeX 是否可用。
ManimMagic¶
想在 Jupyter Notebook 里边写边渲染,可以使用 Manim 内置的 IPython 单元魔法(cell magic)%%manim,它由 manim.utils.ipython_magic 中的 ManimMagic 类提供。
在 Notebook 中只要执行过 import manim(或 from manim import *),魔法命令就会自动注册,无需手动加载扩展:
from manim import *
%%manim -qm -v WARNING MyScene
class MyScene(Scene):
def construct(self):
circle = Circle()
self.play(Create(circle))
%%manim后面跟的参数与 CLI 选项一致,例如-qm指定 medium 画质。渲染完成后视频会直接嵌入单元格输出下方;
-v WARNING用于隐藏冗长的日志。若尚未安装 Jupyter,可用
pip install "manim[jupyterlab]"一键装好。
常见错误
社区版(ManimCE,导入名 manim)与 3Blue1Brown 原版(manimgl / manimlib)是两个不同的包。旧教程若让你安装 manimlib 或继承 Scene 之外的 GL 风格写法,请改用 pip install manim==0.21.0。
提示
若 manim 命令提示找不到,通常是 Python 的 Scripts 目录不在 PATH 中。可以改用 python -m manim --version 验证,或检查虚拟环境是否已激活。
下一步¶
环境就绪后,下一节写出你自己的第一个场景,并理解 Scene、play() 与 wait() 三个核心概念。