动画生成工具manim的安装笔记

参考资料

3分钟安装好Manim教学动画制作包|Windows

官方github

国人修改版-中文友好但是更新落后

安装思路

使用新版windows提供的linux系统安装

之前都是想直接安装,发现总是配置出错,现在win10也兼容了linux了,何不如在win10下安装Linux之后再使用命令行安装呢?

在win商店搜索ubuntu并下载

image.png

ps:在大陆使用win商店不能挂梯子,否则会直接无法连接。如果下载慢的话,搜索一下如何开启p2p下载的功能

报错 WslRegisterDistribution failed with error: 0x8007019e

解决办法:
1.win+x,选择Windows PowerShell(管理员)
2.输入:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
3.回车,输入Y,重启!
4.重新打开已经安装的子系统,等几分钟,输入账户和密码
————————————————
版权声明:本文为CSDN博主「Vintage TANG」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33033367/article/details/82820983

设置ubuntu账户

id:quqi

密码:qaq

开始安装(失败)

检查python环境

输入python3检查有无py,然后输入quit ()退出

安装pip

sudo apt-get install python3-pip

提示:

quqi@DESKTOP-TE57I1A:~$ sudo apt-get install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python3-pip is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python3-pip' has no installation candidate

应该是apt没有更新,输入sudo apt-get update

然后输入pip3,如果提示正常则说明可用

让linux可以使用win的代理

Windows 10里的WSL Ubuntu 怎么使用Windows系统的 SS 代理?

pip3 install genpac

sudo nano /etc/profile在文件末尾加入

export http_proxy=http://127.0.0.1:7890 
export https_proxy=http://127.0.0.1:7890 
export ftp_proxy=http://127.0.0.1:7890

使配置生效source /etc/profile

安装相关支持

sudo apt-get install libcairo2-dev

sudo apt install ffmpeg

sudo apt-get install sox

sudo apt install texlive-latex-extra或者(前者为简单版)sudo apt install texlive texlive-latex-extra texlive-fonts-extra texlive-latex-recommended texlive-science

pip3 install manimlib

到此为止安装后总是各种毛病,于是卸载重装ubuntu

把ubuntu安装到其他盘

下载安装包

解压到自定义位置,重命名为.zip文件,点击Ubuntu.exe开始安装

报错

WslRegisterDistribution failed with error: 0x80070057
Error: 0x80070057 ?????

更新系统后还是无法解决,放弃

第二种安装方式:git

使用git clone

git clone https://github.com/3b1b/manim

在win下安装

参考资料

Manim安装教程

Scoop官网:https://scoop.sh/
Conda清华源:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
Scoop软件源目录:https://rasa.github.io/scoop-directory/by-score
manim官网:https://github.com/3b1b/manim

直接安装

打开powershell

安装scope

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex

安装aria2

scoop install aria2

安装git

scoop install git

拓展源

scoop bucket add extras

安装ffmpeg

scoop search ffmpeg

查询到多个,选择一个安装

scoop install ffmpeg-nightly

安装LaTeX

scoop install LaTeX

使用anaconda安装(成功)#使用anaconda安装manim

成功安装但是无法支持中文

步骤概述:安装anaconda-按照github说明安装依赖-git clone/下载源码并放到本地-激活conda环境-安装requriments.txt-使用manimgl命令生成动画

  • 中间有一个报错

     No module named manim.__main__; 'manim' is a package and cannot be directly executed
    • 解决参考
    • python -m pip install --upgrade manim

      • 2021-04-02备注:pip的版本可能落后了,这样操作可能会导致奇怪的错误
  • 易错点:之前的教程很多都还是python -m manim example_scenes.py SquareToCircle -pl
    而现在最新版本已经是manimgl example_scenes.py OpeningManimExample

所以也要学会因地制宜、与时俱进,不要总是套过去的教程

再次尝试安装 2021-04-02 #2021-04-02-Manim

要求:这次不要使用pip,全程使用git

  • 创建新的conda环境

    1. conda create -n manim-kg python=3.8.5对应着manim-kindergarten
    2. 激活环境 conda activate manim-kg
    3. 发现可能之前安装的miktex不全,所以先卸载再重装

      1. 卸载:用管理员打开powershell,输入scoop uninstall latex
      2. 安装:

        1. 官网下载地址,选择all download,然后选择net install,根据电脑选择32或者64bit
        2. 选择download miktex,另外也可以在connetion settings里面设置代理开启代理的ip端口7890选择download miktex
        3. 下一步选择complete miktex,一路下载安装
    4. 然后下载修改版的manim,解压到manim-kg中并重命名为manim
    5. 然后pip install -r requirements.txt
    6. 使用pip list检查

      Package Version
      ————- ——————-
      certifi 2020.12.5
      colour 0.1.5
      numpy 1.20.2
      opencv-python 4.5.1.48
      Pillow 8.2.0
      pip 21.0.1
      progressbar 2.5
      pycairo 1.20.0
      pydub 0.25.1
      Pygments 2.8.1
      pyreadline 2.1
      scipy 1.6.2
      setuptools 52.0.0.post20210125
      tqdm 4.59.0
      wheel 0.36.2
      wincertstore 0.2

    7. 安装完成,尝试生成范例

      使用docker安装(成功)

      jasonkwan/manim

      b站相关视频

      相关的博客

      安装命令:docker run -it --rm -v /host/scene/dir:/scenes jasonkwan/manim:latest

      具体为:docker run -it --rm -v e:\docker:/scenes jasonkwan/manim:latest

      然后切换到py脚本目录cd /scenes/manim

      然后运行示例

  1. example.py SquareToCircle -p -ql

最后在目录:`E:\docker\manim\videos\example\480p15\partial_movie_files\Demo`下可以找到生成的视频文件!

对命令的解释:

![manim-illustration](https://raw.githubusercontent.com/ManimCommunity/manim/master/docs/source/_static/command.png)

安装完成后确实可以输出我之前做的那个例子,但是在官网找的其他例子又有问题。(manim这配置真的是麻烦到家了)

## 在树莓派里安装

Using username “pi”.
pi@192.168.1.61’s password:
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 12 23:49:10 2021

SSH is enabled and the default password for the ‘pi’ user has not been changed.
This is a security risk – please login as the ‘pi’ user and type ‘passwd’ to set a new password.

pi@raspberrypi:~ $ ping
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]

        [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
        [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
        [-w deadline] [-W timeout] [hop1 ...] destination

Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]

         [-l preload] [-m mark] [-M pmtudisc_option]
         [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
         [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
         [-W timeout] destination

pi@raspberrypi:~ $ ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=49 time=3.47 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=49 time=3.28 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=49 time=3.43 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=4 ttl=49 time=5.24 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=5 ttl=49 time=3.32 ms
^C
— baidu.com ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 11ms
rtt min/avg/max/mdev = 3.275/3.747/5.241/0.752 ms
pi@raspberrypi:~ $ ping github.com
PING github.com (52.74.223.119) 56(84) bytes of data.
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=1 ttl=35 time=181 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=2 ttl=35 time=201 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=3 ttl=35 time=183 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=4 ttl=35 time=189 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=5 ttl=35 time=206 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223. 119): icmp_seq=6 ttl=35 time=203 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=7 ttl=35 time=182 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=8 ttl=35 time=200 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=9 ttl=35 time=180 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=10 ttl=35 time=16 7 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=11 ttl=35 time=13 2 ms
64 bytes from ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com (52.74.223.119): icmp_seq=12 ttl=35 time=18 8 ms
^C
— github.com ping statistics —
12 packets transmitted, 12 received, 0% packet loss, time 27ms
rtt min/avg/max/mdev = 131.733/184.452/205.817/19.311 ms
pi@raspberrypi:~ $ pip

Usage:
pip [options]

Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
config Manage local and global configuration.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
help Show help for commands.

General Options:
-h, –help Show help.
–isolated Run pip in an isolated mode, ignoring environment variables and user

                          configuration.

-v, –verbose Give more output. Option is additive, and can be used up to 3 times.
-V, –version Show version and exit.
-q, –quiet Give less output. Option is additive, and can be used up to 3 times

                          (corresponding to WARNING, ERROR, and CRITICAL logging levels).

–log Path to a verbose appending log.
–proxy Specify a proxy in the form [user:passwd@]proxy.server:port.
–retries Maximum number of retries each connection should attempt (default 5 times).
–timeout Set the socket timeout (default 15 seconds).
–exists-action Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,

                          (a)bort).

–trusted-host Mark this host as trusted, even though it does not have valid or any HTTPS.
–cert Path to alternate CA bundle.
–client-cert Path to SSL client certificate, a single file containing the private key and the

                          certificate in PEM format.

–cache-dir Store the cache data in .
–no-cache-dir Disable the cache.
–disable-pip-version-check

                          Don't periodically check PyPI to determine whether a new version of pip is
                          available for download. Implied with --no-index.

–no-color Suppress colored output
pi@raspberrypi:~ $ sudo apt-get update
命中:1 http://raspbian.raspberrypi.org/raspbian buster InRelease
命中:2 http://archive.raspberrypi.org/debian buster InRelease
正在读取软件包列表… 完成
pi@raspberrypi:~ $ pip3

Usage:
pip3 [options]

Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
config Manage local and global configuration.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
help Show help for commands.

General Options:
-h, –help Show help.
–isolated Run pip in an isolated mode, ignoring environment variables and user

                          configuration.

-v, –verbose Give more output. Option is additive, and can be used up to 3 times.
-V, –version Show version and exit.
-q, –quiet Give less output. Option is additive, and can be used up to 3 times

                          (corresponding to WARNING, ERROR, and CRITICAL logging levels).

–log Path to a verbose appending log.
–proxy Specify a proxy in the form [user:passwd@]proxy.server:port.
–retries Maximum number of retries each connection should attempt (default 5 times).
–timeout Set the socket timeout (default 15 seconds).
–exists-action Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,

                          (a)bort).

–trusted-host Mark this host as trusted, even though it does not have valid or any HTTPS.
–cert Path to alternate CA bundle.
–client-cert Path to SSL client certificate, a single file containing the private key and the

                          certificate in PEM format.

–cache-dir Store the cache data in .
–no-cache-dir Disable the cache.
–disable-pip-version-check

                          Don't periodically check PyPI to determine whether a new version of pip is
                          available for download. Implied with --no-index.

–no-color Suppress colored output
pi@raspberrypi:~ $ sudo apt-get install libcairo2-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会同时安装下列软件:
libblkid-dev libcairo-script-interpreter2 libffi-dev libfontconfig1-dev libglib2.0-dev libglib2.0-dev-bin
liblzo2-2 libmount-dev libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-dev libselinux1-dev
libsepol1-dev libxcb-render0-dev libxcb-shm0-dev libxext-dev libxrender-dev uuid-dev x11proto-xext-dev
建议安装:
libcairo2-doc libglib2.0-doc libgdk-pixbuf2.0-bin | libgdk-pixbuf2.0-dev libxml2-utils libxext-doc
下列【新】软件包将被安装:
libblkid-dev libcairo-script-interpreter2 libcairo2-dev libffi-dev libfontconfig1-dev libglib2.0-dev
libglib2.0-dev-bin liblzo2-2 libmount-dev libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-dev
libselinux1-dev libsepol1-dev libxcb-render0-dev libxcb-shm0-dev libxext-dev libxrender-dev uuid-dev
x11proto-xext-dev
升级了 0 个软件包,新安装了 22 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 6,451 kB 的归档。
解压缩后会消耗 21.5 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://archive.raspberrypi.org/debian buster/main armhf libcairo-script-interpreter2 armhf 1.16.0-4+rpt1 [150 kB]
获取:2 http://mirrors.nju.edu.cn/raspbian/raspbian buster/main armhf uuid-dev armhf 2.33.1-0.1 [92.4 kB]
获取:4 http://archive.raspberrypi.org/debian buster/main armhf libpixman-1-dev armhf 0.36.0-1+rpt1 [498 kB]
获取:6 http://archive.raspberrypi.org/debian buster/main armhf libcairo2-dev armhf 1.16.0-4+rpt1 [618 kB]
获取:5 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf liblzo2-2 armhf 2.10-0.1 [48.4 kB]
获取:7 http://mirrors.nju.edu.cn/raspbian/raspbian buster/main armhf libfontconfig1-dev armhf 2.13.1-2 [943 kB]
获取:9 http://mirrors.nju.edu.cn/raspbian/raspbian buster/main armhf x11proto-xext-dev all 2018.4-4 [3,128 B]
获取:3 http://mirrors.neusoft.edu.cn/raspbian/raspbian buster/main armhf libblkid-dev armhf 2.33.1-0.1 [210 kB]
获取:10 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf libxext-dev armhf 2:1.3.3-1+b2 [102 kB]
获取:8 http://mirrors.zju.edu.cn/raspbian/raspbian buster/main armhf libxrender-dev armhf 1:0.9.10-1 [37.7 kB]
获取:11 http://mirrors.zju.edu.cn/raspbian/raspbian buster/main armhf libxcb-render0-dev armhf 1.13.1-2 [111 kB]
获取:12 http://mirrors.zju.edu.cn/raspbian/raspbian buster/main armhf libxcb-shm0-dev armhf 1.13.1-2 [100 kB]
获取:14 http://mirrors.neusoft.edu.cn/raspbian/raspbian buster/main armhf libglib2.0-dev-bin armhf 2.58.3-2+deb1 0u2 [155 kB]
获取:15 http://mirrors.nju.edu.cn/raspbian/raspbian buster/main armhf libmount-dev armhf 2.33.1-0.1 [209 kB]
获取:17 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf libpcre32-3 armhf 2:8.39-12 [227 kB]
获取:13 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libffi-dev armhf 3.2.1-9 [159 kB]
获取:16 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libpcre16-3 armhf 2:8.39-12 [234 kB ]
获取:19 http://mirrors.neusoft.edu.cn/raspbian/raspbian buster/main armhf libpcre3-dev armhf 2:8.39-12 [564 kB]
获取:18 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libpcrecpp0v5 armhf 2:8.39-12 [150 kB]
获取:20 http://mirrors.zju.edu.cn/raspbian/raspbian buster/main armhf libsepol1-dev armhf 2.8-1 [309 kB]
获取:21 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf libselinux1-dev armhf 2.8-1+b1 [156 kB]
获取:22 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libglib2.0-dev armhf 2.58.3-2+deb10 u2 [1,372 kB]
已下载 6,451 kB,耗时 18秒 (350 kB/s)
正在选中未选择的软件包 uuid-dev:armhf。
(正在读取数据库 … 系统当前共安装有 163693 个文件和目录。)
准备解压 …/00-uuid-dev_2.33.1-0.1_armhf.deb …
正在解压 uuid-dev:armhf (2.33.1-0.1) …
正在选中未选择的软件包 libblkid-dev:armhf。
准备解压 …/01-libblkid-dev_2.33.1-0.1_armhf.deb …
正在解压 libblkid-dev:armhf (2.33.1-0.1) …
正在选中未选择的软件包 liblzo2-2:armhf。
准备解压 …/02-liblzo2-2_2.10-0.1_armhf.deb …
正在解压 liblzo2-2:armhf (2.10-0.1) …
正在选中未选择的软件包 libcairo-script-interpreter2:armhf。
准备解压 …/03-libcairo-script-interpreter2_1.16.0-4+rpt1_armhf.deb …
正在解压 libcairo-script-interpreter2:armhf (1.16.0-4+rpt1) …
正在选中未选择的软件包 libfontconfig1-dev:armhf。
准备解压 …/04-libfontconfig1-dev_2.13.1-2_armhf.deb …
正在解压 libfontconfig1-dev:armhf (2.13.1-2) …
正在选中未选择的软件包 libxrender-dev:armhf。
准备解压 …/05-libxrender-dev_1%3a0.9.10-1_armhf.deb …
正在解压 libxrender-dev:armhf (1:0.9.10-1) …
正在选中未选择的软件包 x11proto-xext-dev。
准备解压 …/06-x11proto-xext-dev_2018.4-4_all.deb …
正在解压 x11proto-xext-dev (2018.4-4) …
正在选中未选择的软件包 libxext-dev:armhf。
准备解压 …/07-libxext-dev_2%3a1.3.3-1+b2_armhf.deb …
正在解压 libxext-dev:armhf (2:1.3.3-1+b2) …
正在选中未选择的软件包 libpixman-1-dev:armhf。
准备解压 …/08-libpixman-1-dev_0.36.0-1+rpt1_armhf.deb …
正在解压 libpixman-1-dev:armhf (0.36.0-1+rpt1) …
正在选中未选择的软件包 libxcb-render0-dev:armhf。
准备解压 …/09-libxcb-render0-dev_1.13.1-2_armhf.deb …
正在解压 libxcb-render0-dev:armhf (1.13.1-2) …
正在选中未选择的软件包 libxcb-shm0-dev:armhf。
准备解压 …/10-libxcb-shm0-dev_1.13.1-2_armhf.deb …
正在解压 libxcb-shm0-dev:armhf (1.13.1-2) …
正在选中未选择的软件包 libffi-dev:armhf。
准备解压 …/11-libffi-dev_3.2.1-9_armhf.deb …
正在解压 libffi-dev:armhf (3.2.1-9) …
正在选中未选择的软件包 libglib2.0-dev-bin。
准备解压 …/12-libglib2.0-dev-bin_2.58.3-2+deb10u2_armhf.deb …
正在解压 libglib2.0-dev-bin (2.58.3-2+deb10u2) …
正在选中未选择的软件包 libmount-dev:armhf。
准备解压 …/13-libmount-dev_2.33.1-0.1_armhf.deb …
正在解压 libmount-dev:armhf (2.33.1-0.1) …
正在选中未选择的软件包 libpcre16-3:armhf。
准备解压 …/14-libpcre16-3_2%3a8.39-12_armhf.deb …
正在解压 libpcre16-3:armhf (2:8.39-12) …
正在选中未选择的软件包 libpcre32-3:armhf。
准备解压 …/15-libpcre32-3_2%3a8.39-12_armhf.deb …
正在解压 libpcre32-3:armhf (2:8.39-12) …
正在选中未选择的软件包 libpcrecpp0v5:armhf。
准备解压 …/16-libpcrecpp0v5_2%3a8.39-12_armhf.deb …
正在解压 libpcrecpp0v5:armhf (2:8.39-12) …
正在选中未选择的软件包 libpcre3-dev:armhf。
准备解压 …/17-libpcre3-dev_2%3a8.39-12_armhf.deb …
正在解压 libpcre3-dev:armhf (2:8.39-12) …
正在选中未选择的软件包 libsepol1-dev:armhf。
准备解压 …/18-libsepol1-dev_2.8-1_armhf.deb …
正在解压 libsepol1-dev:armhf (2.8-1) …
正在选中未选择的软件包 libselinux1-dev:armhf。
准备解压 …/19-libselinux1-dev_2.8-1+b1_armhf.deb …
正在解压 libselinux1-dev:armhf (2.8-1+b1) …
正在选中未选择的软件包 libglib2.0-dev:armhf。
准备解压 …/20-libglib2.0-dev_2.58.3-2+deb10u2_armhf.deb …
正在解压 libglib2.0-dev:armhf (2.58.3-2+deb10u2) …
正在选中未选择的软件包 libcairo2-dev:armhf。
准备解压 …/21-libcairo2-dev_1.16.0-4+rpt1_armhf.deb …
正在解压 libcairo2-dev:armhf (1.16.0-4+rpt1) …
正在设置 libpcrecpp0v5:armhf (2:8.39-12) …
正在设置 libglib2.0-dev-bin (2.58.3-2+deb10u2) …
正在设置 libpixman-1-dev:armhf (0.36.0-1+rpt1) …
正在设置 libpcre16-3:armhf (2:8.39-12) …
正在设置 libsepol1-dev:armhf (2.8-1) …
正在设置 liblzo2-2:armhf (2.10-0.1) …
正在设置 libffi-dev:armhf (3.2.1-9) …
正在设置 libxcb-shm0-dev:armhf (1.13.1-2) …
正在设置 uuid-dev:armhf (2.33.1-0.1) …
正在设置 libpcre32-3:armhf (2:8.39-12) …
正在设置 libxcb-render0-dev:armhf (1.13.1-2) …
正在设置 x11proto-xext-dev (2018.4-4) …
正在设置 libxrender-dev:armhf (1:0.9.10-1) …
正在设置 libcairo-script-interpreter2:armhf (1.16.0-4+rpt1) …
正在设置 libblkid-dev:armhf (2.33.1-0.1) …
正在设置 libfontconfig1-dev:armhf (2.13.1-2) …
正在设置 libpcre3-dev:armhf (2:8.39-12) …
正在设置 libxext-dev:armhf (2:1.3.3-1+b2) …
正在设置 libmount-dev:armhf (2.33.1-0.1) …
正在设置 libselinux1-dev:armhf (2.8-1+b1) …
正在设置 libglib2.0-dev:armhf (2.58.3-2+deb10u2) …
正在处理用于 install-info (6.5.0.dfsg.1-4+b1) 的触发器 …
正在处理用于 libglib2.0-0:armhf (2.58.3-2+deb10u2) 的触发器 …
正在处理用于 libc-bin (2.28-10+rpi1) 的触发器 …
正在处理用于 man-db (2.8.5-2) 的触发器 …
正在设置 libcairo2-dev:armhf (1.16.0-4+rpt1) …
pi@raspberrypi:~ $ sudo apt install ffmpeg
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
ffmpeg 已经是最新版 (7:4.1.6-1~deb10u1+rpt1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
pi@raspberrypi:~ $ sudo apt-get install sox
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会同时安装下列软件:
libopencore-amrnb0 libopencore-amrwb0 libsox-fmt-alsa libsox-fmt-base libsox3
建议安装:
libsox-fmt-all
下列【新】软件包将被安装:
libopencore-amrnb0 libopencore-amrwb0 libsox-fmt-alsa libsox-fmt-base libsox3 sox
升级了 0 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 607 kB 的归档。
解压缩后会消耗 1,309 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:2 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libopencore-amrwb0 armhf 0.1.3-2.1 [42.0 kB]
获取:1 http://mirrors.nju.edu.cn/raspbian/raspbian buster/main armhf libopencore-amrnb0 armhf 0.1.3-2.1 [80.4 kB]
获取:3 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf libsox3 armhf 14.4.2+git20190427-1 [226 kB]
获取:4 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libsox-fmt-alsa armhf 14.4.2+git20190427-1 [51.2 kB]
获取:5 http://mirrors.neusoft.edu.cn/raspbian/raspbian buster/main armhf libsox-fmt-base armhf 14.4.2+git20190427-1 [68.4 kB]
获取:6 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian buster/main armhf sox armhf 14.4.2+git20190427-1 [139 kB]
已下载 607 kB,耗时 4秒 (145 kB/s)
正在选中未选择的软件包 libopencore-amrnb0:armhf。
(正在读取数据库 … 系统当前共安装有 165166 个文件和目录。)
准备解压 …/0-libopencore-amrnb0_0.1.3-2.1_armhf.deb …
正在解压 libopencore-amrnb0:armhf (0.1.3-2.1) …
正在选中未选择的软件包 libopencore-amrwb0:armhf。
准备解压 …/1-libopencore-amrwb0_0.1.3-2.1_armhf.deb …
正在解压 libopencore-amrwb0:armhf (0.1.3-2.1) …
正在选中未选择的软件包 libsox3:armhf。
准备解压 …/2-libsox3_14.4.2+git20190427-1_armhf.deb …
正在解压 libsox3:armhf (14.4.2+git20190427-1) …
正在选中未选择的软件包 libsox-fmt-alsa:armhf。
准备解压 …/3-libsox-fmt-alsa_14.4.2+git20190427-1_armhf.deb …
正在解压 libsox-fmt-alsa:armhf (14.4.2+git20190427-1) …
正在选中未选择的软件包 libsox-fmt-base:armhf。
准备解压 …/4-libsox-fmt-base_14.4.2+git20190427-1_armhf.deb …
正在解压 libsox-fmt-base:armhf (14.4.2+git20190427-1) …
正在选中未选择的软件包 sox。
准备解压 …/5-sox_14.4.2+git20190427-1_armhf.deb …
正在解压 sox (14.4.2+git20190427-1) …
正在设置 libsox3:armhf (14.4.2+git20190427-1) …
正在设置 libopencore-amrwb0:armhf (0.1.3-2.1) …
正在设置 libsox-fmt-alsa:armhf (14.4.2+git20190427-1) …
正在设置 libopencore-amrnb0:armhf (0.1.3-2.1) …
正在设置 libsox-fmt-base:armhf (14.4.2+git20190427-1) …
正在设置 sox (14.4.2+git20190427-1) …
正在处理用于 libc-bin (2.28-10+rpi1) 的触发器 …
正在处理用于 man-db (2.8.5-2) 的触发器 …
正在处理用于 mime-support (3.62) 的触发器 …
pi@raspberrypi:~ $ pip install manimgl
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting manimgl
Downloading https://files.pythonhosted.org/packages/79/a2/5d3c21e5b51367af09a0159b0da76ca76b9ef6f51d1e6b5e4bb8e8779e6e/manimgl-1.0.0.tar.gz (21.2MB)

100% |████████████████████████████████| 21.2MB 16kB/s

Requirement already satisfied: Pillow in /usr/lib/python2.7/dist-packages (from manimgl) (5.4.1)
Collecting PyOpenGL (from manimgl)
Downloading https://files.pythonhosted.org/packages/7e/78/2bc24caecba024f7d128030451899531cd4c2a2a2bad342d5e5010089324/PyOpenGL-3.1.5-py2-none-any.whl (2.4MB)

100% |████████████████████████████████| 2.4MB 73kB/s

Requirement already satisfied: argparse in /usr/lib/python2.7 (from manimgl) (1.2.1)
Collecting colour (from manimgl)
Downloading https://files.pythonhosted.org/packages/74/46/e81907704ab203206769dee1385dc77e1407576ff8f50a0681d0a6b541be/colour-0.1.5-py2.py3-none-any.whl
Collecting ipython (from manimgl)
Downloading https://files.pythonhosted.org/packages/ce/2c/2849a2b37024a01a847c87d81825c0489eb22ffc6416cac009bf281ea838/ipython-5.10.0-py2-none-any.whl (760kB)

100% |████████████████████████████████| 768kB 140kB/s

Collecting manimpango=0.2.0 (from manimgl) (from versions: )
No matching distribution found for manimpango=0.2.0 (from manimgl)
Downloading https://www.piwheels.org/simple/manimpango/ManimPango-0.2.4-cp37-cp37m-linux_armv7l.whl (286kB)

100% |████████████████████████████████| 286kB 243kB/s

Collecting PyOpenGL (from manimgl)
Downloading https://files.pythonhosted.org/packages/47/9a/8d9364533ebcaa13621994a63dcc6a6051e27671ae5e1715dac4af18cac2/PyOpenGL-3.1.5-py3-none-any.whl (2.4MB)

100% |████████████████████████████████| 2.4MB 175kB/s

Collecting progressbar (from manimgl)
Downloading https://www.piwheels.org/simple/progressbar/progressbar-2.5-py3-none-any.whl
Collecting sympy (from manimgl)
Downloading https://files.pythonhosted.org/packages/ff/69/b16fc81b939d3efdd0b552f2e3e54f7fa1423d0c320cced2e69e675dde26/sympy-1.7.1-py3-none-any.whl (5.9MB)

100% |████████████████████████████████| 5.9MB 74kB/s

Collecting moderngl-window (from manimgl)
Downloading https://files.pythonhosted.org/packages/61/79/2178d46ee8f80bd1e895d3c7baf8618ff9add000a8c944a35f0252d7d53c/moderngl_window-2.3.0-py3-none-any.whl (126kB)

100% |████████████████████████████████| 133kB 1.2MB/s

Collecting validators (from manimgl)
Downloading https://files.pythonhosted.org/packages/db/2f/7fed3ee94ad665ad2c1de87f858f10a7785251ff75b4fd47987888d07ef1/validators-0.18.2-py3-none-any.whl
Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from manimgl) (1.16.2)
Collecting tqdm (from manimgl)
Downloading https://files.pythonhosted.org/packages/f8/3e/2730d0effc282960dbff3cf91599ad0d8f3faedc8e75720fdf224b31ab24/tqdm-4.59.0-py2.py3-none-any.whl (74kB)

100% |████████████████████████████████| 81kB 1.8MB/s

Collecting scipy (from manimgl)
Downloading https://www.piwheels.org/simple/scipy/scipy-1.6.1-cp37-cp37m-linux_armv7l.whl (62.0MB)

100% |████████████████████████████████| 62.0MB 7.4kB/s

Collecting mapbox-earcut (from manimgl)
Downloading https://www.piwheels.org/simple/mapbox-earcut/mapbox_earcut-0.12.10-cp37-cp37m-linux_armv7l.whl (51kB)

100% |████████████████████████████████| 61kB 80kB/s

Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from manimgl) (5.4.1)
Collecting screeninfo (from manimgl)
Downloading https://www.piwheels.org/simple/screeninfo/screeninfo-0.6.7-py3-none-any.whl
Requirement already satisfied: matplotlib in /usr/lib/python3/dist-packages (from manimgl) (3.0.2)
Collecting colour (from manimgl)
Using cached https://files.pythonhosted.org/packages/74/46/e81907704ab203206769dee1385dc77e1407576ff8f50a0681d0a6b541be/colour-0.1.5-py2.py3-none-any.whl
Collecting argparse (from manimgl)
Downloading https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl
Collecting pydub (from manimgl)
Downloading https://files.pythonhosted.org/packages/a6/53/d78dc063216e62fc55f6b2eebb447f6a4b0a59f55c8406376f76bf959b08/pydub-0.25.1-py2.py3-none-any.whl
Requirement already satisfied: ipython in /usr/lib/python3/dist-packages (from manimgl) (5.8.0)
Collecting moderngl (from manimgl)
Downloading https://www.piwheels.org/simple/moderngl/moderngl-5.6.4-cp37-cp37m-linux_armv7l.whl (864kB)

100% |████████████████████████████████| 870kB 169kB/s

Collecting mpmath>=0.19 (from sympy->manimgl)
Downloading https://files.pythonhosted.org/packages/d4/cf/3965bddbb4f1a61c49aacae0e78fd1fe36b5dc36c797b31f30cf07dcbbb7/mpmath-1.2.1-py3-none-any.whl (532kB)

100% |████████████████████████████████| 542kB 698kB/s

Collecting pyglet=1.5.8 (from moderngl-window->manimgl)
Downloading https://files.pythonhosted.org/packages/81/5e/aef9e460989e4b832215d5fcee3ea9b0629e9bce8607284d9c1021b6a251/pyglet-1.5.15-py3-none-any.whl (1.1MB)

100% |████████████████████████████████| 1.1MB 367kB/s

Collecting pyrr=0.10.3 (from moderngl-window->manimgl)
Downloading https://files.pythonhosted.org/packages/80/d4/09bb74e93f9f677eadcf9ddb92681755f75e0f354a1b904f1913e32ca1b2/pyrr-0.10.3-py3-none-any.whl (46kB)

100% |████████████████████████████████| 51kB 2.1MB/s

Requirement already satisfied: decorator>=3.4.0 in /usr/lib/python3/dist-packages (from validators->manimgl) (4.3.0)
Requirement already satisfied: six>=1.4.0 in /usr/lib/python3/dist-packages (from validators->manimgl) (1.12.0)
Requirement already satisfied: pexpect in /usr/lib/python3/dist-packages (from ipython->manimgl) (4.6.0)
Collecting glcontext=2 (from moderngl->manimgl)
Downloading https://www.piwheels.org/simple/glcontext/glcontext-2.3.2-cp37-cp37m-linux_armv7l.whl (65kB)

100% |████████████████████████████████| 71kB 110kB/s

Collecting multipledispatch (from pyrr=0.10.3->moderngl-window->manimgl)
Downloading https://files.pythonhosted.org/packages/89/79/429ecef45fd5e4504f7474d4c3c3c4668c267be3370e4c2fd33e61506833/multipledispatch-0.6.0-py3-none-any.whl
Building wheels for collected packages: pyyaml
Running setup.py bdist_wheel for pyyaml … done
Stored in directory: /home/pi/.cache/pip/wheels/2a/d4/92/cf299bdf4162957ca8126b46e913e29f76a4f17ca762c45028
Successfully built pyyaml
scipy 1.6.1 has requirement numpy>=1.16.5, but you’ll have numpy 1.16.2 which is incompatible.
Installing collected packages: pyyaml, manimpango, PyOpenGL, progressbar, mpmath, sympy, glcontext, moderngl, pyglet, multipledispatch, pyrr, moderngl-window, validators, tqdm, scipy, mapbox-earcut, screeninfo, colour, argparse, pydub, manimgl
The script isympy is installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
The script tqdm is installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
The scripts manim-render and manimgl are installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
Successfully installed PyOpenGL-3.1.5 argparse-1.4.0 colour-0.1.5 glcontext-2.3.2 manimgl-1.0.0 manimpango-0.2.4 mapbox-earcut-0.12.10 moderngl-5.6.4 moderngl-window-2.3.0 mpmath-1.2.1 multipledispatch-0.6.0 progressbar-2.5 pydub-0.25.1 pyglet-1.5.15 pyrr-0.10.3 pyyaml-5.4.1 scipy-1.6.1 screeninfo-0.6.7 sympy-1.7.1 tqdm-4.59.0 validators-0.18.2


---

但是又提示另一个问题`scipy 1.6.1 has requirement numpy>=1.16.5, but you'll have numpy 1.16.2 which is incompatible.`

说明numpy版本过低,使用命令`pip3 install --user -U numpy`升级

---

此外还提示

The script isympy is installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
The script tqdm is installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
The scripts manim-render and manimgl are installed in ‘/home/pi/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.


使用`echo 'export PATH=/home/pi/.local/bin:$PATH' >>~/.bashrc`

`source ~/.bashrc`

`pip3 uninstall manimgl`

`pip3 install manimgl`

---

报错

pi@raspberrypi:~ $ manimgl
Traceback (most recent call last):
File “/home/pi/.local/lib/python3.7/site-packages/numpy/core/__init__.py”, line 22, in

from . import multiarray

File “/home/pi/.local/lib/python3.7/site-packages/numpy/core/multiarray.py”, line 12, in

from . import overrides

File “/home/pi/.local/lib/python3.7/site-packages/numpy/core/overrides.py”, line 7, in

from numpy.core._multiarray_umath import (

ImportError: libf77blas.so.3: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/pi/.local/bin/manimgl”, line 6, in

from manimlib.__main__ import main

File “/home/pi/.local/lib/python3.7/site-packages/manimlib/__init__.py”, line 1, in

from manimlib.constants import *

File “/home/pi/.local/lib/python3.7/site-packages/manimlib/constants.py”, line 1, in

import numpy as np

File “/home/pi/.local/lib/python3.7/site-packages/numpy/__init__.py”, line 145, in

from . import core

File “/home/pi/.local/lib/python3.7/site-packages/numpy/core/__init__.py”, line 48, in

raise ImportError(msg)

ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  • The Python version is: Python3.7 from “/usr/bin/python3”
  • The NumPy version is: “1.20.1”

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory


根据提示前往网址[https://numpy.org/devdocs/user/troubleshooting-importerror.html](https://numpy.org/devdocs/user/troubleshooting-importerror.html)

发现有针对树莓派的典型报错:

`libf77blas.so.3: cannot open shared object file: No such file or directory`

一看果然是这个问题

官方提供的解决方法是:`sudo apt-get install libatlas-base-dev`

---

按照上面的方法解决了numpy报错之后,另外一个问题依然存在

pi@raspberrypi:~ $ sudo apt-get install libatlas-base-dev
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
将会同时安装下列软件:
libatlas3-base
建议安装:
libatlas-doc liblapack-doc
下列【新】软件包将被安装:
libatlas-base-dev libatlas3-base
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 5,365 kB 的归档。
解压缩后会消耗 32.1 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.bfsu.edu.cn/raspbian/raspbian buster/main armhf libatlas3-base armhf 3.10.3-8+rpi1 [2,399 kB]
获取:2 http://mirrors.sjtug.sjtu.edu.cn/raspbian/raspbian buster/main armhf libatlas-base-dev armhf 3.10.3-8+rpi1 [2,966 kB]
已下载 5,365 kB,耗时 4秒 (1,314 kB/s)
正在选中未选择的软件包 libatlas3-base:armhf。
(正在读取数据库 … 系统当前共安装有 165238 个文件和目录。)
准备解压 …/libatlas3-base_3.10.3-8+rpi1_armhf.deb …
正在解压 libatlas3-base:armhf (3.10.3-8+rpi1) …
正在选中未选择的软件包 libatlas-base-dev:armhf。
准备解压 …/libatlas-base-dev_3.10.3-8+rpi1_armhf.deb …
正在解压 libatlas-base-dev:armhf (3.10.3-8+rpi1) …
正在设置 libatlas3-base:armhf (3.10.3-8+rpi1) …
update-alternatives: 使用 /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3 来在自动模式中提供 /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf)
update-alternatives: 使用 /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so.3 来在自动模式中提供 /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf)
正在设置 libatlas-base-dev:armhf (3.10.3-8+rpi1) …
update-alternatives: 使用 /usr/lib/arm-linux-gnueabihf/atlas/libblas.so 来在自动模式中提供 /usr/lib/arm-linux-gnueabihf/libblas.so (libblas.so-arm-linux-gnueabihf)
update-alternatives: 使用 /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so 来在自动模式中提供 /usr/lib/arm-linux-gnueabihf/liblapack.so (liblapack.so-arm-linux-gnueabihf)
正在处理用于 libc-bin (2.28-10+rpi1) 的触发器 …
pi@raspberrypi:~ $ manimgl
Traceback (most recent call last):
File “/home/pi/.local/bin/manimgl”, line 6, in

from manimlib.__main__ import main

File “/home/pi/.local/lib/python3.7/site-packages/manimlib/__init__.py”, line 19, in

from manimlib.window import *

File “/home/pi/.local/lib/python3.7/site-packages/manimlib/window.py”, line 2, in

from moderngl_window.context.pyglet.window import Window as PygletWindow

File “/home/pi/.local/lib/python3.7/site-packages/moderngl_window/context/pyglet/__init__.py”, line 1, in

from .keys import Keys  # noqa

File “/home/pi/.local/lib/python3.7/site-packages/moderngl_window/context/pyglet/keys.py”, line 12, in

from pyglet.window import key

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/window/__init__.py”, line 1899, in

gl._create_shadow_window()

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/gl/__init__.py”, line 206, in _create_shadow_window

_shadow_window = Window(width=1, height=1, visible=False)

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/window/xlib/__init__.py”, line 173, in init

super(XlibWindow, self).__init__(*args, **kwargs)

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/window/__init__.py”, line 585, in init

display = pyglet.canvas.get_display()

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/canvas/__init__.py”, line 94, in get_display

return Display()

File “/home/pi/.local/lib/python3.7/site-packages/pyglet/canvas/xlib.py”, line 123, in init

raise NoSuchDisplayException('Cannot connect to "%s"' % name)

pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to “None”


---

暂时不管上述报错,直接git clone试试

`git clone https://github.com/3b1b/manim`

`cd manim`

`pip3 install -e .`

发现确实不行,之前环境配置有错

### 安装pi lite系统

怀疑是之前那个full版系统环境复杂,这次下载一个完全纯净的试试

`sudo apt-get update`

`sudo apt install python3-pip`

## 在mac系统里面安装

### 安装homebrew

[官网](https://brew.sh/index_zh-cn)

打开终端,输入`/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`

然后安装到这一步卡住

==> Tapping homebrew/core
Cloning into ‘/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core’…


此时重启终端或者打断进程,然后切换到homebrew目录:

`cd /usr/local/Homebrew/Library/Taps/homebrew`

使用`ls`查看目录是否为空,如果有文件夹则使用`rm -r homebrew-core`删除东西

`git clone https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git`

### 安装依赖

brew install ffmpeg mactex


### 安装manim

git clone https://github.com/3b1b/manim.git

cd manim


安装到这步发现没有pip,于是安装pip

curl https://bootstrap.pypa.io/get-pip.py | python3

pip3 install -e .


然后报错

hfy@HFYdeMac-mini ~ % pip3 install -e .
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with ‘-m pip’ instead of running pip directly.
Defaulting to user installation because normal site-packages is not writeable
ERROR: File “setup.py” not found. Directory cannot be installed in editable mode: /Users/hfy


于是根据说明换用`python -m pip install -e .`

manimgl example_scenes.py OpeningManimExample


但是报错

hfy@HFYdeMac-mini manim % pip3 install -e .
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with ‘-m pip’ instead of running pip directly.
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///Users/hfy/manim
Collecting argparse
Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)
Collecting colour
Downloading colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting numpy
Downloading numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl (16.0 MB)

 |████████████████████████████████| 16.0 MB 378 kB/s 

Collecting Pillow
Downloading Pillow-8.1.2-cp38-cp38-macosx_10_10_x86_64.whl (2.2 MB)

 |████████████████████████████████| 2.2 MB 423 kB/s 

Collecting scipy
Downloading scipy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl (30.8 MB)

 |████████████████████████████████| 30.8 MB 379 kB/s 

Collecting sympy
Downloading sympy-1.7.1-py3-none-any.whl (5.9 MB)

 |████████████████████████████████| 5.9 MB 415 kB/s 

Collecting tqdm
Downloading tqdm-4.59.0-py2.py3-none-any.whl (74 kB)

 |████████████████████████████████| 74 kB 616 kB/s 

Collecting mapbox-earcut
Downloading mapbox_earcut-0.12.10-cp38-cp38-macosx_10_9_x86_64.whl (55 kB)

 |████████████████████████████████| 55 kB 650 kB/s 

Collecting matplotlib
Downloading matplotlib-3.3.4-cp38-cp38-macosx_10_9_x86_64.whl (8.5 MB)

 |████████████████████████████████| 8.5 MB 249 kB/s 

Collecting moderngl
Downloading moderngl-5.6.4-cp38-cp38-macosx_10_9_x86_64.whl (144 kB)

 |████████████████████████████████| 144 kB 347 kB/s 

Collecting moderngl_window
Downloading moderngl_window-2.3.0-py3-none-any.whl (126 kB)

 |████████████████████████████████| 126 kB 439 kB/s 

Collecting pydub
Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)
Collecting pyyaml
Downloading PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl (253 kB)

 |████████████████████████████████| 253 kB 311 kB/s 

Collecting screeninfo
Downloading screeninfo-0.6.7.tar.gz (7.3 kB)
Collecting validators
Downloading validators-0.18.2-py3-none-any.whl (19 kB)
Collecting ipython
Downloading ipython-7.21.0-py3-none-any.whl (784 kB)

 |████████████████████████████████| 784 kB 429 kB/s 

Collecting PyOpenGL
Downloading PyOpenGL-3.1.5-py3-none-any.whl (2.4 MB)

 |████████████████████████████████| 2.4 MB 441 kB/s 

Collecting manimpango