Manim(manimlib 版本)无法正常工作

Manim (manimlib version) not working as it should

一切似乎都已正确安装,但在启动渲染时,出现此错误:

File "c:\users\oussa\appdata\local\programs\python\python37\lib\site-packages\manimlib\extract_scene.py", line 155, in main
    scene = SceneClass(**scene_kwargs)
  File "c:\users\oussa\appdata\local\programs\python\python37\lib\site-packages\manimlib\scene\scene.py", line 75, in __init__
    self.construct()
  File "testM.py", line 5, in construct
    text = TextMobject("I literally h8 u.")
  File "c:\users\oussa\appdata\local\programs\python\python37\lib\site-packages\manimlib\mobject\svg\tex_mobject.py", line 150, in __init__
    self.break_up_by_substrings()
  File "c:\users\oussa\appdata\local\programs\python\python37\lib\site-packages\manimlib\mobject\svg\tex_mobject.py", line 190, in break_up_by_substrings
    sub_tex_mob.move_to(self.submobjects[last_submob_index], RIGHT)
IndexError: list index out of range

这就是程序的 Python 代码 运行:

from manimlib.imports import *

class TestScene(Scene):
  def construct(self):
    text = TextMobject("I literally h8 u.")
    text.scale(2)

    self.play(Write(text))
    self.wait()

class TestScene2(Scene):
  def construct(self):
    text = TextMobject("I literally $ u.")
    text.scale(2)

    self.play(Write(text))
    self.wait()

有什么问题?

您的代码实际上没有做任何事情,因为它只是一堆 class 定义。顺便说一句,您可能想开始使用标准的 Python 缩进 4 而不是 2,这样以后您就不会头疼了。

安装manim,你的代码实际上不起作用,但是如果导入语句被替换为from manim import *,你实例化一个对象并将TextMobject替换为[=14] =], 它在调用 construct().

后运行并渲染一些视频

我将其替换为更集中的导入,因为 import * 通常不是一个好主意。

from manim import Scene, Text, Write


class TestScene(Scene):
    def construct(self):
        text = Text("I literally h8 u.")
        text.scale(2)
    
        self.play(Write(text))
        self.wait()

class TestScene2(Scene):
    def construct(self):
        text = Text("I literally $ u.")
        text.scale(2)
    
        self.play(Write(text))
        self.wait()


ts = TestScene()
ts.construct()

我正在使用 Python 3.9.7(没有原因,只是我的环境的版本)和 manim 0.12.0。

不过我会说 manim 看起来像一个非常简陋的包,所以我预计会出现一些更奇怪的问题。