You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Manim时出现“NameError: name 'Mobject' is not defined”错误的原因及解决方法

使用Manim时出现“NameError: name 'Mobject' is not defined”错误的原因及解决方法

看起来你遇到的这个错误大概率是Manim版本兼容性问题,或者安装的包文件损坏导致的,咱们一步步来排查解决:

  • 检查并重装指定稳定版本的Manim
    有时候最新版本的Manim可能存在小bug,你可以先查看当前安装的版本:

    pip show manim
    

    如果是较新的版本,建议卸载后安装一个经过验证的稳定版本,比如:

    pip uninstall manim -y
    pip install manim==0.17.3
    

    另外要注意,不要混淆manim和manimce(社区版),如果之前安装的是社区版,换成pip install manimce试试。

  • 用虚拟环境隔离Python环境
    你用scoop安装的Python可能存在依赖冲突,创建一个干净的虚拟环境能避免这类问题:

    # 创建虚拟环境
    python -m venv manim_env
    # Windows下激活虚拟环境
    manim_env\Scripts\activate
    # 在虚拟环境里安装Manim
    pip install manim
    

    激活环境后再运行你的代码,看看错误是否消失。

  • 临时手动导入Mobject测试
    你可以先修改代码,手动导入Mobject来验证是否是导入问题:

    from manim import *
    from manim.mobject.mobject import Mobject
    import numpy as np
    
    class Wave(Scene):
        def construct(self):
            a = Axes(x_range=[-1, 10], y_range=[-1, 10])
            graph = a.plot(lambda x: np.sin(x), color=BLUE)
            self.add(a, graph)
    

    如果这样能正常运行,就说明是默认from manim import *没有正确加载Mobject,回到第一步更换稳定版本就能彻底解决。

这个错误的本质是Manim内部的rotation.py模块引用了Mobject,但要么模块自身没正确导入,要么你的环境里Manim包文件损坏,导致全局导入时没有加载Mobject。通过重装稳定版本或者隔离环境,基本能解决这类问题。

备注:内容来源于stack exchange,提问作者Brayant Tagne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:53:02