数学视频动画引擎Python库 -- Manim 安装指南 Installing Manim locally

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。

Mathematical Animation Engine
Manim 绘制函数图象示例
Manim 绘制函数图象示例

本地安装 Manim

安装 Manim 的标准方式是使用 Python 的包管理器 pip,从 PyPI 安装最新版本。

为了方便你遵循设置 Python 项目用于 Manim 动画的最佳实践,我们强烈推荐使用管理 Python 环境和依赖的工具。特别是,我们强烈推荐使用 uv

对于以下描述的两种主要安装 Manim 的方式,我们假设 uv 是可用的;如果你对 Python 或编程不太熟悉,我们觉得它特别有帮助。这绝不是硬性要求;如果你知道自己在做什么,你可以直接使用 pip 安装 Manim。

安装 Python 管理工具 uv

安装 uv 的一种方式是通过专用的控制台安装程序,支持所有大型操作系统。只需将以下代码片段粘贴到你的终端/PowerShell 中——或者查阅 uv 的文档,了解安装该工具的其他方式。

MacOS 和 Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

当然,如果你知道自己在做什么,并且更愿意自己设置虚拟环境,那么请随意!

重要提示

如果你在按照下面的说明操作时遇到问题,请不要担心:查看我们的安装常见问题解答,看看问题是否已经得到解决——如果没有,请查看如何联系我们的社区以获得帮助。

安装

第一步:安装 Python

我们首先需要检查你的机器上是否安装了合适版本的 Python。打开终端运行

uv python install

以安装最新版本的 Python。如果安装成功,请继续下一步。

第二步(可选):安装 LaTeX

LaTeX 是一个非常著名且广泛使用的排版系统,允许你编写如下公式:

1 2 π i ∮ γ f ( z ) ( z − z 0 ) n + 1   d z = f ( n ) ( z 0 ) n ! . \begin{equation*} \frac{1}{2\pi i} \oint_{\gamma} \frac{f(z)}{(z - z_0)^{n+1}}~dz = \frac{f^{(n)}(z_0)}{n!}. \end{equation*} 2πi1γ(zz0)n+1f(z) dz=n!f(n)(z0).

如果你只需要渲染纯文本,且不想渲染任何排版公式,那么你可以跳过这一步。否则,请从下面的标签列表中选择你的操作系统,并按照说明操作。

Windows

对于 Windows,我们推荐通过 MiKTeX 发行版安装 LaTeX。只需从它们的下载页面 https://miktex.org/download 获取 Windows 安装程序并运行它。

MacOS

如果你使用的是 MacOS,我们推荐安装 MacTeX 发行版。可以从 https://www.tug.org/mactex/mactex-download.html 下载最新的 PKG 文件,并按照标准安装程序进行操作。

Linux

鉴于 Linux 发行版众多,且安装包的方式各不相同,我们无法为所有包管理器提供详细的安装说明。

一般来说,我们推荐安装 TeX Live 发行版(https://www.tug.org/texlive/)。对于大多数 Linux 发行版,TeX Live 已经被打包,可以通过你的系统包管理器轻松安装。在互联网和你常用的 OS 资源中搜索详细的说明。

例如,在基于 Debian 的系统上,使用包管理器 apt,可以通过运行以下命令安装完整的 TeX Live 发行版:

sudo apt install texlive-full

对于 Fedora(通过 dnf 管理),相应的命令是:

sudo dnf install texlive-scheme-full

安装 LaTeX 后,继续安装 Manim 本身。

你可以使用更小、更可定制的 LaTeX 发行版,如 TinyTeX。Manim 总体上需要在你的发行版中安装以下 LaTeX 包:

amsmath babel-english cbfonts-fd cm-super count1to ctex doublestroke dvisvgm everysel fontspec frcursive fundus-calligra gnu-freefont jknapltx latex-bin mathastext microtype multitoc physics preview prelim2e ragged2e relsize rsfs setspace standalone tipa wasy wasysym xcolor xetex xkeyval

第三步:安装 Manim

这些步骤在不同操作系统之间略有不同。请确保从下面的标签列表中选择正确的操作系统,然后按照说明操作。

MacOS 和 Windows

以下命令将

  • 创建一个新的 Python 项目目录,

  • 并添加 Manim 作为依赖项,将其安装到相应的本地 Python 环境中。

Python 项目的名称是 manimations,你可以将其更改为任何你喜欢的名称。

uv init manimations
cd manimations
uv add manim

Manim 现在已安装在你的本地项目环境中!

Linux

实际上,MacOS 和 Windows 标签中给出的说明也适用于 Linux——然而,Linux 用户需要从源代码构建 ManimPango(以及可能的 pycairo),因此需要一些额外的依赖项。具体来说,这包括:

  • C 编译器,

  • Python 的开发头文件,

  • pkg-config 工具,

  • Pango 及其开发头文件,

  • 以及 Cairo 及其开发头文件。

以下是一些流行系统/包管理器的说明。

Debian-based / apt
sudo apt update
sudo apt install build-essential python3-dev libcairo2-dev libpango1.0-dev
Fedora / dnf
sudo dnf install python3-devel pkg-config cairo-devel pango-devel
Arch Linux / pacman
sudo pacman -Syu base-devel cairo pango

安装所需的依赖项后,你可以通过运行以下命令创建一个 Python 项目(你可以随意更改下面使用的名称 manimations),并在本地环境中包含 Manim:

uv init manimations
cd manimations
uv add manim

要验证你的本地 Python 项目是否设置正确,以及 Manim 是否可用,只需运行

此时,你也可以使用你喜欢的 IDE 打开项目文件夹。所有现代 Python IDE(例如带有 Python 扩展的 VS Code 或 PyCharm)都应该能够自动检测由 uv 创建的本地环境,因此如果你在新文件 my-first-animation.py 中放入

那么导入将正确解析,并且提供自动补全。

快乐地制作 Manim 动画吧!


如果你有多个不同目录的 Manim 项目,并且不想为每个项目都设置本地项目环境,那么你也可以将 Manim 安装为一个由 uv 管理的工具。

参阅 uv 的文档,了解有关它们工具机制的更多信息。

要将 Manim 安装为全局 uv 工具,只需运行

uv tool install manim

之后,manim 可执行文件将在你的全局系统路径上可用,无需激活任何虚拟环境或在命令前加上 uv run

请注意,使用这种方法时,设置代码编辑器以正确解析 import manim 需要额外的工作,因为全局工具环境不会自动被检测到:可以通过运行

uv tool dir

来确定所有工具环境的基路径,它现在应该包含一个名为 manim 的目录,其中包含适当的虚拟环境。将你的 IDE 的 Python 解释器设置为这个环境,以使导入正确解析。

如果你想要使用不同版本的 Python(例如,由于与其他包存在兼容性问题),那么 uv 允许你以一种相当直接的方式进行操作。

在初始化本地 Python 项目时,只需将你想要使用的 Python 版本作为参数传递给 init 命令:

uv init --python 3.12 manimations
cd manimations
uv add manim

要更改现有包的版本,你需要编辑 pyproject.toml 文件。如果你正在降级 Python 版本,那么需要更新 requires-python 条目,使你选择的版本满足要求。将该行更改为,例如 requires-python = ">=3.12"。之后,运行 uv python pin 3.12 将 Python 版本锁定为 3.12。最后,运行 uv sync,你的环境就会更新!

风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

船长Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值