manim(manimgl)安装教学-win11(2024-08)

在这里插入图片描述

manim 目前的两种版本:★★ 稍微捋一捋【项目中的 readme.md 十分重要】
manim 是 3Blue1Brown 个人项目,现在为 manimgl,在维护中。
manim 是2020年后的 manim 分支 community edition 社区项目,在维护中。
毕竟社区嘛叫 manim 更专业啥,3BuleBrown 就。。。但是仓库名都叫 manim,懂得都懂!

介绍

manim 社区官网: https://www.manim.community/
manim 安装教学官网:https://docs.manim.community/en/stable/installation/
manim 学习资源:
● 制作视频源码:https://github.com/3b1b/videos
● 制作教学视频:https://space.bilibili.com/88461692
该文章水分深,切记需要啥,就看啥。

1️⃣ 了解系统及组件

1.系统版本

1. 操作系统分类:Windows、Mac OS、Linux(CentOs、ubuntu...)、Mac OS、Unix(IBM-AIX...) 参考
2. 操作系统架构
(1) windows: x32、x86-64、amd64 参考
(2) Linux:...
3. 注意:按照自己操作系统的架构,下载下文中所需版本的软件。
4. 查看自己系统的架构
(1) win10-11:按 Win+R键,打开运行框,输入 msinfo32 并回车,即可打开“系统信息”窗口。可以看出该系统架构是 x64。

在这里插入图片描述

2. 软件组件(安装依赖环境)

仅有 manim 或 manimgl 显然框框报错. manim是 python的一个包(第三方库). 我们必须先把该有的东西都准备好, Manim才有可能正常工作. 我们需要这么几个软件
1. python3.7(官方推荐)或以上版本至 python3.11【注:python3.3以后自带 pip 包管理工具】官网下载:⬇️D
2. FFmpeg:是一个功能强大的开源多媒体框架,它支持几乎所有类型的音频、视频和字幕格式的处理、录制、转换以及流化。官网下载:⬇️D
3. sox: 是一个跨平台的音频处理工具。官网下载:⬇️D
4. Tex宏集环境:排版系统,它利用一套功能强大且灵活的排版语言,能够生成高质量的文档。选一个即可:
(1) MiKTeX: 下载官网:⬇️D
(2) TeX Live: 下载官网:⬇️D
(3) TeXstudio: 下载官网:⬇️D
5.一些服务 manim 必要的包,需要自行操作 ★:
pip install -r requirements.txt
:: 或
pip install -e .
:: 或
python setup.py install
6. 整理好的 win11系统所需软件集:【百度网盘
补充
TeX系统: 广泛应用于学术界,特别是在数学、物理学、统计学与计算机科学界,其处理复杂数学公式的能力尤为突出。TeX系统分类
(1) LaTeX: 官网: https://www.latex-project.org/
(2) XeTeX: 它原生支持Unicode,并允许直接调用系统里的字体,因此在处理多语言文档时非常有用。
(3) LuTeX: 支持Unicode和直接调用系统字体,但相比XeTeX,它在编译过程中提供了更多的灵活性和控制。
注意:对于需要更多定制和高级功能的用户,建议深入了解TeX Live和TeXstudio等较为全面的解决方案。而对于需要快速上手和在线协作的用户,Overleaf可能是一个更好的选择。
以下是使用LaTeX、XeTeX、LuaTeX这些系统封装好的软件的表格展示,包括各自的优缺点及下载地址:
软件名称封装的TeX系统优点缺点下载地址
TeXstudioLaTeX、XeTeX、LuaTeX1. 跨平台支持(Windows、Linux、macOS)1. 相对于轻量级编辑器可能较为庞大TeXstudio官网
2. 界面友好,易于使用
3. 提供丰富的功能和选项(代码高亮、自动补全、文档结构视图等)
MiKTeXLaTeX、XeTeX、LuaTeX1. 提供了包管理工具,自动下载和安装缺失的宏包1. 相比TeX Live,可能包含的宏包和工具较少MiKTeX官网
2. 安装包体积相对较小,适合快速安装2. 在某些情况下,可能需要手动解决包依赖问题
3. 支持Windows和macOS系统
TeX LiveLaTeX、XeTeX、LuaTeX1. 包含了大量的宏包和文档类1. 安装包体积较大,需要较长的下载和安装时间TeX Live官网
2. 更新及时,包含最新的TeX技术和工具2. 对于初学者来说,可能需要一定的时间来熟悉其结构和使用方法
3. 跨平台支持
OverleafLaTeX、XeTeX、LuaTeX1. 基于云的LaTeX编辑器,无需在本地安装TeX系统1. 需要网络连接才能使用Overleaf官网
2. 提供了实时预览和协作功能2. 对于一些高级功能,可能需要付费订阅
3. 包含了大量的模板和示例文档

3. 介绍组件,可以跳过

介绍一下,省的你们不知道在干啥,不想听的直接跳过
1. python3.7是python语言的解释器,运行python程序的环境必备品。这个没啥说的,大家都能懂。虽然官方建议3.7,但是我用3.8发现也有一定的问题问题。考虑未来的历史进程,大伙最好还是装3.8的版本吧,挑战一下debug的魅力吧。官网(提供下载):https://www.python.org
2. pip,用来管理包(又叫"库")。python的伟大之处在于其免费(点赞也不要钱). 所以人人可用, 大家都用, 就有人们开发出来了各种强大的 python库 pypi。使用这些库我们就可以用少量代码实现人脸识别之类的高级功能。解放了人类的劳动力到更高级的工作上,而不是天天写重复的低级代码. 而这些库, 一般就是用pip来安装的. 现在介绍pip,后文将教大家咋用. 如果你学过python的话,应该已经会用了。
3. FFmpeg,著名的开源视频流处理内核. 内核代表这东西几乎无法独立运行. 但是它却可以作为其他程序的心脏去工作.比如作为VLC, 或者一些录屏软件,剪辑软件的内核. Manim的视频渲染就是基于它的接口的。
4. sox,一个小巧的用于处理音频的软件.
5. TeX宏集. 对于大部分人来说可能比较陌生. 这个是用来用编程的方式输出高质量论文的一种语言/程序. 尤其擅长渲染复杂的公式. Manim需要TeX环境处理公式和文字. 不像Microsoft office word 那样的所见即所得文字处理程序, TeX通过代码描述文章,然后直接渲染出来可视化的效果.比如MiKTeX直接输出pdf文档,Manim直接输出图片或者视频.

2️⃣ 安装组件

提醒一下,如果上文所需软件已经安装成功,未安装好可以看一下对应软件配置步骤,【浪费别人的时间,就等同于谋财害命😥】,省的你们不知道在干啥,不想看步骤的直接跳过。★

2.1 安装 python和附属的pip

请注意,有些情况下,计算机内可能已经有python了, py2和 py3可以共存,但务必保证你运行的是 py3.7 或以上的版本。以下命令可以查看系统环境中Python的有无及其所在位置.
where python
:: 或
where python3

1. 安装Python

官网 https://www.python.org/ ,如果你连下载在哪里都找不见,请直接 https://www.python.org/downloads/release/python-3119/ 走起,然后往下翻,下载这个就好。可以用下载器,要不然速度堪忧.

在这里插入图片描述

然后运行安装包.注意这几个设置。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

大伙的英语应该都有工地4级了吧? 都能看懂的. 英语CET4学习直达
python使用说明文档啥的都最好装上.
pip 必须安装.
标准库也装好.
至于tcl/tk库和IDLE,这是tkinter,一个图形界面库,和一个简单的IDE,可以不装,因为基本用不上.IDE有 visual studio,文本编辑器有vsc,sublime text,图形库有PyQt5,个个比它们爽. 所以这个其实可以不要. 装上的话也不大.

在这里插入图片描述

2. 检查Python是否安装成功

按下Win+R键,打开运行对话框,输入 cmd 并按回车,即可打开命令提示符窗口。 现在让我们在终端界面里输入 "python --version",查看系统环境中所有的python版本,为了方便,以后这种表述统一用下面这种格式:
python --version
这个就表示在一个目录下运行cmd的命令. 按下回车你应该看到这个样子.

在这里插入图片描述

在这里插入图片描述

为了方便管理和使用,我将它放置在了D:\FunnyActions\manim-build\下,最后的路径大概这个样子就行.
D:\FunnyActions\manim-build\

2.2 安装FFmpeg

官网: https://www.ffmpeg.org/
下载地址直达: https://www.gyan.dev/ffmpeg/builds/#release-builds (这个是64位的)

在这里插入图片描述

1. 解压 ffempng

下载下来的东西是一个的zip压缩包.将其解压在一个地方,D:\FunnyActions\manim-build\ffmpeg
比如我,现在就有这样的一个路径

在这里插入图片描述

2. 检查是否解压成功

现在让我们在字符终端界面里输入 “ffmpeg -version”:

ffmpeg  -version

按下回车你应该看到这个样子:

在这里插入图片描述

3. 绝对路径与相对路径

这里科普一下相对路径和绝对路径的概念
绝对路径指的就是从头算起的文件路径,比如
D:\FunnyActions\manim-build\ffmpeg\ffmpeg-7.0.1-full_build\bin\ffmpeg.exe
就是我的电脑里的ffmpeg.exe程序的绝对路径,绝对精确.
我是这么安装的,但是有人可能安装在c盘根目录,有人可能安装在d盘.......各有千秋,所以为了方便的表述各种情况,引入相对路径的概念
~/bin/ffmpeg.exe
如果我之前明示现在说的是ffmpeg文件夹的话,那么这个"~"符号就表示ffmpeg文件夹的位置。现在适用于每个人的电脑了。不管 ffmpeg在何处,这个标识都是指定一个东西了。你们自己看着自己的电脑,将相对路径转换成绝对路径就好。
在cmd之类的终端里,一般这样表述
cmd 终端无时无刻存在一个当前工作目录,估计你也发现了

在这里插入图片描述

这张图里的 cmd 终端就工作在 D:\FunnyActions\manim-build 下,所有的命令都在这个文件夹起作用。如果desktop下有个软件叫 a.exe,那么我要运行它就不用输入完整路径,保证cmd工作目录在当前目录时,只输入
	.\ffmpeg\ffmpeg-7.0.1-full_build\bin\ffmpeg.exe -version

在这里插入图片描述

就能行了。这就是相对路径,省时间、方便。 特例" ../ "表述的是上一级的目录,类似于倒退一下。同时,巨长的文件名也可以用Tab键自动补全,输入几个字符,按几下tab就自动补全了。非常快捷。
说了这么久路径的概念就是为了设置环境变量,你们能看懂.

4. ffmpeg环境配置 现在设置环境变量. ffmpeg不是安装过去的,是复制过去的,全手动配置环境.所以设置环境变量这种脏活还得我们自己干.请大家将 ~/bin/ 加入到 path 环境变量中.
如果不会,请看教程:

方法一、点击控制面板,搜索栏中输入:“系统环境”

在这里插入图片描述
在这里插入图片描述

我们想给所有账户配置好,一般人的电脑应该只有一个账户吧....反正能提权就一步到位
在系统变量里找到 "Path" 变量,编辑之

在这里插入图片描述
在这里插入图片描述

新建一个条目,输入"~/ffmpeg/bin"的绝对路径, 每个人按照自己的地址去配置.(正斜杠还是反斜杠\,你看之前的其他条目是啥你就用啥. 想输入反斜杠请使用英语模式然后按下"]"键右边的键)然后记得一路确定保存好。不用重启。★

方法二、在搜索栏中输入 系统环境

在这里插入图片描述

好了,path设置好之后,cmd和其他系统软件就能找见ffmpeg了.这个就是告诉系统,我这个东西是很重要的,所有程序都应该得找见我,不用输入绝对路径就能运行.
不只是方便人类,也方便程序的调用.
现在测试一下,打开cmd终端,输入
ffmpeg -version
如果出来了这种东西,就证明成功了.如果不成功请重新设置环境变量,你可能路径输入错了或者没保存.

在这里插入图片描述

2.3 sox安装

官网: http://sox.sourceforge.net/
下载链接: https://sourceforge.net/projects/sox/files/sox/
自行安装,没啥说的,不到10MB的小东西. 安装好应该就能在开始菜单找见了(需要等一会)

在这里插入图片描述

2.4 TeX支持版安装

注意:CTeX已经是开山老祖了很久没更新了, MiKTeX其实也不太好用. 所以现在更建议使用TeXLive作为TeX支持. 这个东西更先进,拥有国内镜像源(下载更新快),自己的编译链配合上visual studio code (vsc) 可以实现比Microsoft office word 还爽的排版. manim可以与之搭配. 所以大家不妨安装这个2021年的软件?
本条是2024年8月更新的. 由于TeXLive的安装并不复杂,而且网上教程一大堆,我又比较懒,所以就不更新教程了.参考链接【Latex详细安装与使用
这个版本就多了, 各种神器任君挑选. 常见的有LiveTeX、MiKTeX,还有从清华大学的百度云盘下载的支持中文的CTeX. 作为一个例子, 我讲一下MiKTeX的安装方式.因为我很早就用的这个,后来才知道CTeX的.......
下面两个安装程序选择一个即可,也可以连个都安装
1. CTeX的安装程序
● CTeX官网: https://ctex.org/HomePage
● 下载镜像地址:https://mirror.iscas.ac.cn/ctex/3.1/
2.MiKTex安装程序
● MiKTeX官网: https://miktex.org/download
请大家自己找着下载,如百度、哔站上找一找链接也可以.
然后安装,这一步没啥说的.安装好就可以. 无脑下一步是肯定没问题的.但是还是最好注意一下它在干啥,相信想玩Manim的人英语都不差.
安装成功(然后等一会)你将能在开始菜单找见它(由于我安装的是MikTex)

在这里插入图片描述

如果你没有安装成功,请自行根据错误提示百度解决方案,计算机问题往往千奇百怪,很难在此罗列出来. 常见的问题有:
1. 权限不够?提权运行!
2. 安装目录存在中文?
3. 忘了在安装时设置东西了?
4. 我的账户是管理员账户吗?
5. TeX安装完, 就差不多了.
该安装各种包和Manim本身了.

3️⃣ 进入正题:Manim部分

接下来的内容就与 python 有关了,先让我们学习一下 pip 操作【萌欣教学,大佬就不必留步啦】

3.1 pip 的基本用法

pip可以在cmd里运行.所以我们先启动cmd,然后运行
	pip --version
如果输出了版本号,证明pip存在于环境中. 请先保证这个. 如果不正常请检查python的安装. 你可以这样下载并安装库
	 pip install opencv-python
上面这行就是安装openCV库的方式.简洁明了.你可以自行替换安装的包名,想装啥就装啥. (opencv是开源的机器视觉库, 可以写人脸识别之类的程序) pip下载库的默认仓库地址是pypi,网速属实拉跨,我们要给它一个速度快点的仓库地址,比如清华大学软件镜像站的pypi. 你也可以用其他源,比如搜狐的,阿里的,豆瓣的,中科大的。只要速度快就行.
1. 更改默认下载源 在你自己的"我的文档"下,新建一个叫 pip 的文件夹,在其中先建一个 pip.txt 的文件,

在这里插入图片描述

用记事本打 pip.txt 文件,向其中写入内容如下,之后再保存后关闭记事本,将 pip.txt 扩展名改成 pip.ini(.ini是配置文件的一般扩展名)
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
有的人不会改扩展名,电脑默认是隐藏扩展名的,你需要让它显示出来, 要不然没法改

在这里插入图片描述

大功告成!现在你设置上默认清华源了. 也可以设置成其他镜像网站.你自己随便.

2.临时换源

只需要输入命令时加上一个参数,比如
	pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
这个命令是用 pip 安装一个叫 numpy的python库,使用的是清华镜像站的资源. pip会用了,就可以安装该项目的所需的第三方包。

3.2.安装 Manim 、manimgl

再次提及一下:
manim的两种版本:★★ 稍微捋一捋
manim 是 3Blue1Brown 个人项目,现在为 manimgl,在维护中。
manim 是2020年后的 manim 分支 community edition 社区项目,在维护中。
由于 manim 的更新,目前为两个版本都在在更新,下载的内容在更新,建议参考官网下载。建议使用方法二中的
一、manim 下载(ManimCommunity/manim:社区版本):
○ github 下载:【https://github.com/ManimCommunity/manim/releases】对应版本Assets中下载不同的压缩形式的包。
○ pip下载:
pip install manim
二、manimgl 下载(3b1b/manim:个人版本):
○ github 下载:【https://github.com/3b1b/manim/releases】
○ pip下载:
pip install manimgl 

一、manimgl配置,即: 3b1b个人的 manim

Manim需要一大堆包. 正常情况下,你运行的时候,报错提示缺少啥,你现场用pip安装一下就可以了. 所谓查漏补缺.

1. 直接安装manimlib库,不使用Github上的项目(大概是2021年前的)

(1) 预备 pip 版本升级

python -m pip install --upgrade pip --force-reinstall
:: 或
python -m pip install --upgrade pip

(2) pip 安装 pycairo第三方库

先安装一个库叫 pycairo,这个库比较坑,因为它有时不能直接用 pip 在线安装. 先试下一下用pip直接安装,不行就用下面的方法
pip install pycairo
:: 或
pip install pycairo -i https://pypi.tuna.tsinghua.edu.cn/simple
官网: https://www.cairographics.org/
下载:https://pypi.org/project/pycairo/#files
自己下载合适的版本. 看文件名下载, 我举个例子

在这里插入图片描述

我就应该下载这个.因为
cp38 = python 3.8 版本
win = Windows平台
amd64 = 64位(注意这里是你的python安装的位数,64位机子也可能安装的是32位的python)
自己看着办,下载一个门当户对的版本
然后安装.你把它下载到哪了就在哪个目录启动cmd(或者cd过去,本文不深究cmd的用法).运行
	pip install 你下载的whl包的名字.whl

就安装上了. 注意tab的自动补全功能.毕竟这个名字挺长的

(3) pip 安装 manimlib 第三方库

还有些东西是都要用的,必要的库在Manim目录下的requirements.txt里. 按理来说现在应该先装这些. 但我还没让大家下载Manim的源代码呢,因为我们可以不需要源代码!一步到位,见下文 大部分教程只是将Manim下载下来本地运行,但是我想让它可以全局运行 所以我阅读了官方文档掌握了这个方法. 其实方法特别简单
	pip install manimlib

为什么是 manimlib 库(已于2021年停止更新)呢,该库是 manim 库的前身,目前的 manim 项目是 manim库,即 manim 库中的内容涵盖了 manimlib库,先让你们使用过时的 manimlib 库,但时候如果你需要可以下载 manim库。

就这? 就这即可. 一行命令直接装好,pip自动安装需要的包. 然后你就能用Manim了. 但是你肯定不能成功.所以请接着看. 你大概率得到一大堆红色的报错信息,仔细一看字里行间告诉你是编码问题. 奥!原来是因为我是中国人,说的是汉语,电脑编码冲突了. 可是你说巧不巧?作为一个程序员,基本功就是处理各种编码问题,于是我很快找见了一个解决办法

请参考:

开始菜单->设置->时间和语言->区域->其他日期,时间和区域设置->区域(更改日期时间数字格式)->管理(是一个选项卡)->更改系统区域设置->勾选"Beta版:使用Unicode UTF-8"
然后一路确定,不需要重启 ★
然后再 pip 安装,你将获得成功!
好复杂,给点图片解释?
然后Manim安装好了,记得再改回来,要不然一些程序可能会乱码★

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(4) 运行 manim

Manim安装好了,可能用有自带的场景文件,或如果你有个场景文件,没有就继续看下文
刚刚使用 pip install manimgl,其默认安装的位置
	~\python\Lib\site-packages\manimlib\scene
:: 吾下载的位置
D:\GitHubP\gratis\Amanim\.venv\Lib\site-packages\manimlib\scene
你可以直接在那个文件的目录启动 cmd,运行 由于该目录是第三方库中的标准文件,中没有提供 "example_scenes.py "文件,不可使用哦,无功而返吗,只是参考,指导你查看第三方库安装的位置,下文有具体manim使用的实例。

① manim 参数含义

	manim -h

在这里插入图片描述

② manim 生成视频

由于你还没有 example_scenes.py 文件,先别急,下文有介绍

	manim example_scenes.py  SquareToCircle

大概率,还会报一下类型的错误,不要慌,下文有讲解,毕竟 manimlib这个库在2021年后没更新啦。

File "D:\GitHubP\gratis\Amanim\example_scenes.py", line 12, in < module> 
    class OpeningManimExample(Scene):	
NameError: name 'Scene' is not defined

就可以根据提示生成视频了. 好了? 安装完了! 不还没完,下面这个是3b1b目前版本的 manim即 manimgl安装教学。
Updating ...

2. 间接安装 manim 库,使用Github上3b1b的 Manimgl项目的pip安装版本

下载对应python版本的manimgl的版本,在 Assets中哦
> https://github.com/3b1b/manim/releases
例如, python3.8版本对应的manimgl版本,如 ManimGL 1.6.1(2024-08最新版)
	pip3.8 install manimgl-1.6.1-py38-none-any.whl

运行测试

	manimgl example_scenes.py OpeningManimExample 

期间你可能遇到弹窗提示,下载一些宏集合,哇居然成功了啦~~~,可能不,居然卡住了,不急,下面有解救方法,请欣赏下面的安装过程


3. 间接安装 manim 库,使用Github上3b1b的 Manimgl项目

(1) 预备 pip 版本升级

(2) GitH上下载 3b1b 的mainm

但是我不能这么不负责任,毕竟我们连之前视频的文件都看不见找不到,想照猫画虎也没猫,所以我们还是下载源代码文件吧.
上面这些步骤看似没意义了,因为有了源代码就不用安装manim到pip里而是可以直接运行它. 但是上面这些步骤可以让我们以后轻松的使用manim,所以还是有点用的. 还记得上文那种通过绝对路径运行程序的方式吗?你肯定不喜欢.【哦,我浪费了你时间,罪过~~~】

下载源代码可以从3b1b的GitHub:

① 浏览器中下载: https://github.com/3b1b/manim
② 或使用git下载(前提是你会 git命令,不会就使用①)

	git clone https://github.com/3b1b/manim
网速较慢,需要等待时长不超过一刻钟,githuh是外网,时不时无法访问。★ 下载解压随便放在哪里,打开这个文件夹你应该会看见这些东西,终于见到:example_scenes.py,哇~~~

在这里插入图片描述

现在我们在Manim的主目录下: ~/requirements.txt就是依赖. 如果你刚才已经用pip安装了,依赖环境的包应该已经齐了. 如果没齐或者你没用pip,想手动配置,你可以用一行命令自动完成这个过程
# Install manimgl
pip install -e .
# 下面这个似乎没有啦
pip install -r requirements.txt 
-r 参数以及其后跟的数据将告诉 pip 安装的东西. 这个操作会让pip自己把没装的东西补齐. 如果镜像源正确应该是很快的. 如果错误了也别慌张,你可以找轮子whl包下载安装,就和刚才的 pycairo 一样的方式。不过那样子只能一个一个装了.... 你现在可以检查一下包齐了没有,这个将显示目前安装的包。对比一下与 requirements.txt 文件中的包名及对应版本是否已经下载。
	pip list

(3) 再次运行 manim

激动人心的时刻,源码下有一个示例场景,现在让我们编译一下它
# Try it out
manimgl example_scenes.py OpeningManimExample 
# or
manim-render example_scenes.py OpeningManimExample

在这里插入图片描述

这将会编译example_scenes.py 文件内的SquareToCircle场景, 并将生成的视频立刻展示出来(参数 -p ). 生成的文件在
~/media/video/example_scenes/%视频信息起名的文件夹%/SquareToCircle.mp4
现在你配置好了,能开始使用manim了.

到现在,若汝未晓 manim 命令咋为 manimgl 命令唉,请重现上文~ ◑﹏◐
到现在,你还是可能遇到报错,那就请按照下面的第二种情况安装:

一步到位,总结:

1. 直接安装manimlib库,不使用Github上的项目

# Install manimbib,先今没法简单安装配置
pip install manimglib
# Try it out
manim example_scenes.py OpeningManimExample -p
# Install manimgl
pip install manimgl
# Try it out
manimgl example_scenes.py OpeningManimExample
:: or
manim-render example_scenes.py OpeningManimExample

2. 间接安装 manim 库,使用Github上3b1b的 Manimgl项目的pip安装版本

# Install manimgl,https://github.com/3b1b/manim/releases/
pip install manimgl-1.6.1-py38-none-any.whl
# Try it out
manimgl example_scenes.py OpeningManimExample
:: or
manim-render example_scenes.py OpeningManimExample

3. 间接安装 manim 库,使用Github上3b1b的 Manimgl项目

# Install latest version of manim using these command.
git clone https://github.com/3b1b/manim.git
cd manim
# Install manimgl
pip install -e .
:: or
python setip.py install
:: or
python -m pip install -r requirements.txt
# Try it out
manimgl example_scenes.py OpeningManimExample
:: or
manim-render example_scenes.py OpeningManimExample
现在请开始学习python-Manim的用法,阅读之前的代码自己悟. (也许等我会了的时候我会写教程?)
希望我们可以制作出高质量的视频. 也许会有人为Manim写出图形界面? 那样的时候我们就能像使用 ppt 一样使用Manim了.


二、manim配置,即: 社区版的 manim

之前的那些必备软件不变,但是 python3.8 或 以上,才有社区版的 manim第三方库支持。
官方下载指导文档: https://docs.manim.community/en/stable/installation/

1. 直接安装 manim 库,不使用Github上的项目

(1) pip 安装 manim 第三方库

python -m pip install manim

(2) manim 使用

① manim 帮助文档

请参考如何使用manim: https://docs.manim.community/en/stable/tutorials/quickstart.html
manim --help

② 运行场景文件

新建一个 sence.py 文件

from manim import *

class SquareToCircle(Scene):
    def construct(self):
        circle = Circle()  # create a circle
        circle.set_fill(PINK, opacity=0.5)  # set color and transparency

        square = Square()  # create a square
        square.rotate(PI / 4)  # rotate a certain amount

        self.play(Create(square))  # animate the creation of the square
        self.play(Transform(square, circle))  # interpolate the square into the circle
        self.play(FadeOut(square))  # fade out animation

再运行 sence.py 文件中的 SquareToCircle 场景(类)

manim -pql scene.py SquareToCircle

哈哈这么快,还不报错,早知道就用社区版啦~~~

✨至此,manimlib、manimgl、manim安装教学就结束了。留下☆再走呗🐕

附录 1. 报错解决

1. 但最终,我才发现,真正安装最新版的Manimgl的方法其实特别简单,我们只需要找到最官方最新的教程,也就是作者3B1B在Github上自己写的教程readme.md,链接如下:
https://github.com/3b1b/manim
● 向下滑就可以看到对应版本的教程,只要跟着一步一步安装好对应的环境,按照教程运行代码即可。我就不写具体步骤了(不然很快这就会变成过期教程)。
2. 社区版的 manim 就不用多说什么啦,方便快捷还不用DeBug。

1. NameError: name ‘Scene’ is not defined

运行以下命令时

manim example_scenes.py SquareToCircle -p

出现 NameError: name ‘Scene’ is not defined 错误

分析:由于你未分清,manimlib、manim版本之间的关系。请参考下文。

解决办法,直接使用社区版的 manim:

	pip install manim

2. pkg_resources.DistributionNotFound: The ‘manimgl’ distribution was not found and is required by the application

运行以下命令时

manim example_scenes.py SquareToCircle -p

出现 pkg_resources.DistributionNotFound: The ‘manimgl’ distribution was not found and is required by the application错误

分析:由于你未分清,manimlib、manimgl版本之间的关系,导致 manimlib与 python不兼容。请参考下文。

解决办法,使用 manimgl版本,直接删掉 manimlib版本:

附录2. Linux下的配置

需要的软件全安装完.包括 pycairo、ffmpeg sox、latex、python3.7+

# Linux Debian系下,使用apt安装软件的方式示例
$ sudo apt install sox
# Linux CetOs系下
$ sudo yum install sox

安装 manimgl 或 manim

pip install manimlib
:: 或
pip install manim

如果需要源代码,使用git下载

git clone https://github.com/3b1b/manim.git         # 3b1b
:: 或
git clone https://github.com/ManimCommunity/manim	# 社区版


manim 项目介绍

Manim、Manimlib、ManimGL三者之间的联系与区别主要体现在以下几个方面:
一、联系
  • 同源性:这三者都源于Grant Sanderson(3Blue1Brown频道的创建者)及其开发团队对数学动画引擎的探索和开发。
  • 目的相同:它们都是为了创建精确的数学图形和动画,特别是用于制作解释性数学视频。

二、区别

ManimManimlibManimGL
版本背景Manim通常指的是Manim的社区版(ManimCE),这是由一群开发者共同维护的版本,对原代码进行了优化,并提供了更简单的安装步骤。Manimlib是早期Manim项目的代码库名称,特别是在ManimCairo和ManimGL之前的版本中较为常见。ManimGL是Manim的一个更新迭代版本,采用了更强大的OpenGL库作为渲染引擎,提供了更好的渲染效果和实时预览功能。
渲染引擎依版本而定,ManimCE(即Manim社区版)可能使用多种渲染技术,但通常是优化后的版本。依版本而定,早期版本可能使用Cairo或其他渲染库。OpenGL,提供了更强大的渲染能力和实时预览功能。
安装难度相对较低,特别是对于新手友好的ManimCE版本,安装步骤较为简单。依版本和具体需求而定,但通常需要一定的配置和依赖安装。相对于早期版本,ManimGL的安装更加简单,且支持通过pip直接安装。
功能特性提供了创建数学动画所需的基本功能和组件,具体特性依版本而定。提供了创建数学图形和动画所需的广泛功能和组件,是Manim项目发展的基础。在Manimlib的基础上进行了改进,特别是渲染效果和实时预览功能的提升,使得动画创作更加高效和直观。
社区支持ManimCE作为社区版,拥有较为活跃的社区支持和持续的更新维护。依版本而定,但早期版本的社区支持可能较少。由于其改进的性能和易用性,ManimGL也获得了不少社区关注和支持。

三、总结

Manim、Manimlib、ManimGL三者在数学动画引擎的领域中各有特色。
Manimlib 作为早期代码库名称,代表了Manim项目的发展基础;
Manim 通常指的是Manim的社区版(ManimCE),提供了较为简单和优化的使用体验;
ManimGL 则是基于OpenGL渲染引擎的更新迭代版本,提供了更强大的渲染能力和实时预览功能。在选择使用时,用户可以根据自己的需求和偏好来选择合适的版本。

附录 3、Manim命令教学推荐网站及例句常用命名

一、Manim命令教学推荐网站

对于Manim命令的教学,推荐以下几个网站和资源:
  1. 3Blue1Brown的官方网站https://www.3blue1brown.com/):该网站不仅展示了Manim制作的数学动画视频,还提供了项目地址(https://github.com/3b1b/manim),是学习Manim的重要资源。
  2. GitHub上的Manim项目页:GitHub上Manim的官方项目页面(https://github.com/3b1b/manim)提供了详细的安装指南、使用教程和示例代码,是学习Manim不可或缺的资源。
  3. CSDN博客https://blog.csdn.net):CSDN博客上有许多关于Manim的入门教程和进阶技巧,适合不同水平的学习者。
  4. 哔哩哔哩(B站):B站上有许多UP主分享的Manim使用教程,如“卷毛杨和直毛朱”的教程(https://www.bilibili.com/video/BV1ft411v7ye),这些教程通常结合了实际操作和讲解,非常直观易懂。

二、例句常用命名

在使用Manim命令时,通常会涉及到一些常用的命名规则,以下是一些例句和常用命名方式的说明:

1. 命令格式:

   manim -pql XXXX.py ClassName
其中,-p 表示预览,-ql 表示低质量渲染(还有其他选项如 -qm-qh-qk 分别表示正常质量、高质量、4K质量)。XXXX.py 是你的Python代码文件名,ClassName 是该文件中你想要渲染的类名。


2. 文件名和类名:

  • 文件名(XXXX.py):建议采用简洁明了的方式命名,如 demo.pysquare_to_circle.py 等。
  • 类名(ClassName):类名通常与你的动画主题或场景相关,如 DemoSquareSquareToCircleAnimatedSquareToCircle 等。类名应该具有描述性,能够反映出该类所实现的功能或动画内容。

3. 示例命令

  • 如果你想预览并低质量渲染名为 demo.py 文件中的 DemoSquare 类,你可以使用以下命令:
     manim -pql demo.py DemoSquare
  • 如果你只想预览而不进行渲染,可以去掉 -ql 选项:
     manim -p demo.py DemoSquare


附录 4、manimgl命令教学推荐网站及例句常用命名

一、ManimGL命令教学推荐网站

对于Manim命令的教学,推荐以下几个网站和资源:
  1. ManimGL官方文档:ManimGL的官方文档是学习该命令系统的首选资源。它提供了详细的安装指南、使用教程、API参考以及示例代码。官方文档网站通常是: https://docs.manim.org.cn/,请注意,由于ManimGL是Manim的一个分支或更新版本,官方文档可能位于不同的URL,但通常会包含“manim”或“manimgl”字样。
  2. GitHub上的ManimCommunity/manim仓库:ManimCommunity是Manim的社区维护版本,其中可能包含对ManimGL的更新和支持。GitHub上的这个仓库(https://github.com/ManimCommunity/manim)是获取最新信息和参与社区讨论的好地方。虽然它可能不直接称为“ManimGL”,但通常包含了Manim及其分支的最新动态。
  3. 在线教程和博客:许多在线教程和博客文章也提供了ManimGL的使用教程和示例。这些资源可能来自个人博客、技术论坛或在线教育平台。例如,CSDN博客(https://blog.csdn.net/))和知乎专栏(https://zhuanlan.zhihu.com/)上经常会有关于ManimGL的教程和讨论。

二、例句常用命名

在ManimGL中,命令的命名通常遵循一定的规则和习惯。以下是一些例句和常用命名的说明:

1. 命令格式:

manimgl [options] file.py [SceneName]
manimgl:命令本身。
[options]:可选的命令行选项,如 '-p'(预览)、'-o'(输出视频)等。
file.py:包含动画场景的Python文件名。
[SceneName]:可选的场景名,用于指定要渲染的特定场景。

2. 文件名和类名:

  • 文件名(file.py:通常使用描述性的名称来命名Python文件,如animation_demo.pymath_visualization.py等。
  • file.py中定义的Scene子类:类名也应该具有描述性,能够反映出该类所实现的功能或动画内容,如SquareToCircleMathEquationAnimation等。

3. 示例命令:

  • 预览场景: 这个命令会预览animation_demo.py文件中定义的SquareToCircle场景。
manimgl -p animation_demo.py SquareToCircle
  • 输出视频:这个命令会渲染animation_demo.py文件中定义的SquareToCircle场景,并跳过动画直接输出最后一帧作为视频文件。注意,-s选项的具体行为可能因ManimGL的版本而异;通常,输出视频会使用不同的选项(如-o后跟输出文件名)。
manimgl -o animation_demo.py SquareToCircle -s

三、注意事项

  • 由于ManimGL是Manim的一个分支或更新版本,其命令和API可能会有所不同。因此,在查阅教程和文档时,请确保它们针对的是您正在使用的ManimGL版本。
  • 命名时请遵循Python的命名约定,如使用小写字母和下划线(snake_case)来命名文件和类。
  • 在学习和使用ManimGL时,建议多参考官方文档和社区资源,以获取最新的信息和支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值