壁纸

Manim(Mathematical Animation Engine)是一个用 Python 制作数学动画的库,最初由 3Blue1Brown 开发,用来制作那些著名的数学讲解视频。目前主流的是社区维护版(manim)。

这篇文章把各平台的安装流程一次讲清楚。

一、先装系统依赖

Manim 是 Python 包,但它依赖一些系统级工具来做视频编码和文字渲染,这些必须单独装。

1. Python

需要 Python 3.7 及以上,推荐 3.9+。检查:

1
python --version

2. FFmpeg(必需)

Manim 用 FFmpeg 把渲染出来的帧合成视频,这一步不能省

  • Windowswinget install ffmpeg,或从 ffmpeg.org 下载解压后把 bin 目录加进 PATH
  • macOSbrew install ffmpeg
  • Ubuntu / Debiansudo apt update && sudo apt install ffmpeg

检查:

1
ffmpeg -version

3. LaTeX(可选,但推荐)

如果要渲染数学公式(MathTex),需要 LaTeX 环境:

  • Windows:装 MiKTeX 或 TeX Live
  • macOSbrew install --cask mactex-no-gui
  • Ubuntusudo apt install texlive texlive-latex-extra texlive-fonts-extra

4. Pango(渲染普通文字 / 中文)

Manim 的 Text 用 Pango 渲染:

  • Windows / macOS:pip 装的 Manim 已自带,不用管
  • Ubuntusudo apt install libpango1.0-dev

二、安装 Manim

方式 A:pip(最推荐)

强烈建议先建虚拟环境,避免污染全局环境:

1
2
3
4
5
6
7
8
9
10
# 创建虚拟环境
python -m venv manim-env

# 激活(Windows)
manim-env\Scripts\activate
# 激活(macOS / Linux)
source manim-env/bin/activate

# 安装
pip install manim

方式 B:conda

1
2
3
conda create -n manim python=3.11
conda activate manim
conda install -c conda-forge manim

conda-forge 会把 FFmpeg、Pango 等依赖一并装好,比较省心。

方式 C:源码安装(尝鲜最新特性)

1
2
3
git clone https://github.com/ManimCommunity/manim.git
cd manim
pip install -e .

三、验证安装

新建一个 test.py

1
2
3
4
5
6
7
8
9
10
from manim import *


class HelloManim(Scene):
def construct(self):
circle = Circle(radius=1, color=BLUE)
text = Text("你好,Manim").next_to(circle, DOWN)
self.play(Create(circle))
self.play(Write(text))
self.wait(1)

渲染:

1
manim -pql test.py HelloManim

参数说明:

  • -p:渲染完自动播放
  • -q:画质,l 低 / m 中 / h 高 / k 4K
  • 导出高清:manim -pqh test.py HelloManim

默认输出在 media/videos/test/480p15/HelloManim.mp4

四、中文渲染

Text 可以直接写中文,但必须指定支持中文的字体,否则会显示成方块:

1
2
3
Text("正弦的博客", font="Microsoft YaHei")   # Windows
Text("正弦的博客", font="PingFang SC") # macOS
Text("正弦的博客", font="Noto Sans CJK SC") # Linux

五、常见问题

1. 提示 ffmpeg not found
FFmpeg 没装或没加进 PATH。重装后确认 ffmpeg -version 能正常输出。

2. 渲染太慢
默认画质较高。调试阶段用 -ql 快速预览,成片再切 -qh

3. 中文显示成方块
没指定中文字体,见第四节。

4. LaTeX 相关报错
装完整的 TeX Live / MiKTeX,并确认 latex 命令可用。


装好之后就可以开始用代码画动画了。后面我会再写一篇 Manim 入门用法,从 SceneMobject 到常用动画逐一过一遍。