这篇文章的目的是给出另外一个关于如何让 Manim 使用 Python 3.7 在 Mac 上 工做的账户,仅此而已。我花了几个使人沮丧的夜晚试图让事情发挥做用,我想把个人经验添加到 Manim 不断增加的资源中。我强烈建议将此帖与 Todd Zimmerman 的博客 结合使用,学习如何使用 Grant Sanderson 的代码。html
我提早道歉包含了许多更简单的步骤,但这篇文章旨在 让没有编程背景的人能够访问 Manim。 我认为一旦将 Manim 安装到您的计算机上,Manim 相对容易学习,因此我但愿那些没有太多编程背景的人不会由于让这个库工做而感到沮丧并且能够专一于作出很棒的内容。python
若是按顺序进行,这个过程应该相对简单。通常过程将涉及:git
首先须要的是程序包管理器 Homebrew,它将帮助咱们安装一些 pip 没法正确安装的软件包。您能够经过打开终端并运行如下代码行来安装 Homebrew:github
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码
安装 Homebrew 后,能够经过运行安装 Python:编程
brew install python3
复制代码
若是在此过程当中出现任何问题,我建议您转到此视频:ruby
一旦安装了 python,咱们须要得到一些软件包。返回终端并运行如下代码行,以获取安装所需的软件包(cairo,pkg-config,virtualenv)。ide
brew install cairo
brew install pkg-config
pip3 install virtualenv
复制代码
virtualenv 是得到 Manim 库以前惟一绝对须要的软件包,可是我我的在安装或推出将上述项目安装到虚拟环境中时遇到了麻烦(稍后会介绍)。这就是为何我建议在继续本教程以前将它们直接安装到您的系统上。wordpress
下一步须要花费大量的试验和错误来解决,特别是由于 3b1b 的 GitHub 上没有文档。Manim 使用不一样的 LaTeX 子包,所以 pip3 install latex
可能没法得到所需的全部必需子包。我认为主要的问题是许多人已经在他们的计算机上使用了不一样形式的 LaTeX,因此当你认为你已经掌握了全部东西时,很难确保一切都在那里。通过屡次安装和卸载后,我发现 MacTex 的完整安装能够解决问题,能够在这里找到:函数
确保你安装了全部东西 - 我尝试了几回快捷方式,并无结束工做。
如今已经安装了 LaTeX,您能够继续开始获取 Manim 库。一般,在虚拟环境中运行项目是一种很好的作法,这样您就能够轻松控制全部文件和其余软件包的安装位置。如下是我推荐的步骤:
建立您但愿存储 Manim 库的文件夹。我在个人主目录中建立了一个名为 animation 的文件夹:
前往 Manim GitHub 并获取要克隆的 URL。复制后,前往终端并导航到刚刚建立的文件夹。导航到终端内的特定文件夹很是简单。您能够经过键入如下内容找到当前目录(当前文件路径):
pwd
复制代码
您能够经过键入如下内容找到当前目录中的文件夹:
ls
复制代码
而且您能够经过运行如下命令更改目录以输入其中一个文件夹:
cd folder/subfolder/subsubfolder
复制代码
如今在 Terminal 中运行如下命令将 Manim 存储库克隆到您的文件夹中:
git clone https://github.com/3b1b/manim.git
复制代码
您的文件夹如今看起来应该是这样的(我将文件夹重命名为 manim37):
如今咱们须要创建一个虚拟环境。基本上这将是在 Manim 文件夹中从新安装单独版本的 Python3。在虚拟环境中运行时,您将可以运行 Python 并将软件包安装到该特定文件夹而不是整个系统。这些一般用于确保能够逐个项目地维护特定版本的包。
要建立虚拟环境,请转到终端并导航到 Manim 文件夹。如今继续并将如下命令运行到终端:
virtualenv venv
复制代码
virtualenv
指的是咱们以前安装的软件包。venv
是您将安装虚拟环境的文件夹的名称。
如今,若是您查看 Manim37 文件夹,应该有一个名为 venv
的文件夹。若是没有,而且 venv
文件夹在其余地方结束,您只需单击并将其拖动到 Manim37
文件夹便可。
如今您已经设置了虚拟环境,如今须要从终端输入。确保您当前的工做目录是 Manim37,而后运行:
source venv/bin/activate
复制代码
您的终端线将更改,而且 (venv) 将出如今提示的开头:
使用 Manim 所作的一切都须要在这个虚拟环境中完成,这意味着安装其余软件包,运行动画代码等。若是从新打开终端,则必须再次激活虚拟环境文件夹。您能够经过执行 deactivate
随时退出虚拟环境。
如今咱们须要得到更多的软件包:sox,ffmepg,latex,pycairo 等。继续运行如下各项:
pip3 install sox
pip3 install ffmpeg
pip3 install latex
pip3 install pycairo
pip3 install -r requirements.txt
复制代码
最后一行代码将运行所需的更多软件包的安装。你能够看看的 requirements.txt 的 Manim37 文件夹内的文件,看看到底须要什么,可是一旦这个过程完成后,你将不须要任何更多的包。
如今已经下载了全部软件包,咱们能够开始修复一些与您的计算机相匹配的代码。首先须要作的是在 Manim37 目录中添加一个名为 “output” 的文件夹。
而后咱们须要更改位于 Manim37 文件夹中的文件 constants.py 中的一行代码。
打开后,转到第 23 行,找到 “Dropbox(3Blue1Brown)/ 3Blue1Brown Team Folder” 的行
咱们须要更改此行以匹配刚刚建立的 输出 文件夹。在个人例子中,我用 “animation/manim37/output” 替换了那一行。您应该用您的文件路径替换它(请记住,上面一行中的 〜
是主目录的文件路径的缩写)。
如今咱们须要运行一个快速测试来查看某些动画是否正常工做。仍在虚拟环境中,运行:
python3 extract_scene.py example_scenes.py SquareToCircle -pl
复制代码
这应该会启动 QuickTime 来运行您的示例视频。若是您此时遇到问题,我建议您搜索 Manim GitHub 的 问题 部分。
全部形状和动画都应该在这一点上起做用。可是,要使单词起做用,咱们须要对几个文件进行一些修改。这些变化对我有用。
打开 utils/tex_file_writing.py 并向下滚动到最后两个函数,而后更改它们,使它们看起来像这样(对于截图感到抱歉 - 目前在保持格式化的同时发布代码时出现问题):
须要修改的最后一个文件是 tex_template.tex。继续前进,让你看起来像:
既然已经进行了这些更改,请继续尝试运行:
python3 extract_scene.py example_scenes.py WriteStuff -pl
复制代码
但愿全部人都为你工做!
若是有问题,我建议在 3b1b 的 GitHub 上发布一个问题。那里有更多知识渊博的人,而且经过综合帮助你解决问题的机会更大。