最近把 Windows 上安装 Manim Community 的流程重新走了一遍。很多教程的问题不是命令错,而是把 Python 、原生 DLL 、PyPI 、LaTeX 和代码错误混成了一个“安装失败”。一旦失败就从头重装,反而很难知道是哪一层坏了。
不过先说我的真实建议:如果只是刚开始学 Manim ,不要先装本地环境。 我做极坐标⋅XYZ 的直接原因,就是希望初学者打开浏览器便能运行真 Manim 0.20.1 ,而不是先过 Python/uv/VC++/MiKTeX 这套环境考试。
目前 Playground 可以匿名打开,内置示例直接 Run ;编辑器有 Python 高亮、基于真 Manim 的补全/签名/悬浮文档,渲染后可以播放、拖动逐帧查看,也能导出 MP4/GIF 。中文 Text、MathTex、2D/3D 、updater 等常见场景都走浏览器适配层,Python 代码在本机浏览器的 Pyodide 沙盒中执行。
初学路径很短:打开 Playground → 选示例 → 改一个参数 → Run → 看 traceback 或预览 → 导出。站内教程还把讲解与可运行代码放在一起,适合先建立对 Scene/API 的理解。
本地环境仍然有明确价值:额外 pip 包、多文件工程、完整文件系统、批量渲染、CI 和自动化脚本。所以我把它们定义成两个阶段,而不是两个互斥产品:浏览器负责入门、试验与代码对照,本地负责长期工程。
我现在采用的原则是:每引入一个组件,就做一次最小验证。 推荐链路是:
Windows/CPU 架构
→ Python
→ uv/国内 PyPI 源
→ Manim 核心
→ VC++ Runtime (有 DLL 错误时处理)
→ MiKTeX/CTAN (需要 Tex/MathTex 时处理)
→ 第一次完整渲染
1. 先确认系统和架构
新环境建议 Windows 10/11 x64 。当前 Manim Community 0.20.1 要求 Python 3.11 以上,我在新手路径里用 Python 3.12 x64 ,主要是为了避开位数混用和一些原生依赖问题,不是说其他受支持版本一定不能用。
先运行 msinfo32 看系统类型,再确认解释器:
py -3.12 --version
py -3.12 -c "import platform; print(platform.architecture())"
Windows 7 与当前 Manim 的 Python 要求没有官方版本交集; Windows 8.1 的完整运行库链路也不适合新装。ARM64 需要逐个检查 win_arm64 wheel ,不能直接照搬 x64 教程。
2. 用 uv 隔离项目
不建议把系统 Python 、Store Python 、Anaconda 和项目 venv 混在一起。用 uv 的最小路径是:
uv init --python 3.12 manim-workspace
cd manim-workspace
uv add manim
uv run manim checkhealth
国内网络可以给 uv 配清华或中科大 PyPI 镜像。这里有个容易误判的边界:镜像只能解决包下载和索引访问,不能解决 CPU 架构不匹配、缺 wheel 、VC Runtime 缺失或 Python 代码错误。
3. 第一次渲染拆成三层
先只渲染 Circle,成功后加入 Text,最后再加入 MathTex。这样三次测试分别覆盖 Manim 核心、Pango/字体和 MiKTeX/LaTeX 。
from manim import *
class FirstScene(Scene):
def construct(self):
circle = Circle(color=BLUE)
title = Text("你好,Manim", font="Microsoft YaHei").next_to(circle, UP)
formula = MathTex(r"e^{i\pi}+1=0").next_to(circle, DOWN)
self.play(Create(circle))
self.play(Write(title))
self.play(Write(formula))
self.wait()
先注释掉 formula 两行,运行:
uv run manim -ql first_scene.py FirstScene
圆能渲染说明核心基本可用;加入 Text 后失败才去查字体/Pango ;只在 MathTex 阶段失败才去查 MiKTeX 。
4. DLL 和 LaTeX 分开处理
出现 VCRUNTIME140.dll、MSVCP140.dll 或 import 阶段的 DLL load failed,先确认 Python 与依赖都是 x64 ,再从 Microsoft 官方安装或 Repair x64 VC++ Redistributable 。不要从 DLL 下载站单独捡文件放进系统目录。
只用几何图形和 Text 时可以不装 MiKTeX 。使用 Tex、MathTex 时,安装 Basic MiKTeX 后还需要更新宏包、允许按需安装,并检查:
latex --version
dvisvgm --version
kpsewhich standalone.cls
standalone.cls 找不到是宏包/仓库问题,dvisvgm 找不到是工具链问题,latex failed 则要看 LaTeX 日志;这些都不应该靠重装 Python 解决。
5. 我现在按这个表分流
- 下载超时、解析卡住:PyPI/CTAN 、Python 条件、wheel
manim命令找不到:项目目录、是否使用uv runDLL load failed:位数、VC Runtime 、原生扩展standalone.cls/dvisvgm:MiKTeX 更新与仓库SyntaxError/NameError/TypeError:按 traceback 改代码
另外做了一个浏览器里的真 Manim 环境,主要用途不是替代长期本地工程,而是先用同一段代码做对照实验:浏览器能跑、本地 import 失败,就继续查本机依赖;两边都是同一条 Python traceback ,就先修代码。
链接只放一个: https://jizuobiao.xyz/playground
如果大家在 Windows ARM64 、Server Core 、字体或 MiKTeX 非交互安装上有实际踩坑,也欢迎补充。我会把能够复现的情况继续整理进文档。