授權轉發自 知乎網友 李狗嗨原文地址:https://www.zhihu.com/question/57357012/answer/723888621
相信很多人都知道3Blue1Brown,這是一個由史丹福大學的數學系學生Grant Sanderson 創建的YouTube 頻道。該頻道從獨特的視覺角度解說高等數學,內容包括線性代數、微積分、神經網絡、黎曼猜想、傅立葉變換以及四元數等等。
本人通過該視頻頻道獲得了很多啟發,同時也對其精良的視頻製作技術產生了濃厚的興趣。
偶然的機會,得知其在Github上有專門開設了一個視頻製作引擎:manim。
所以,突然想嘗試用一下該基於Python的可視化引擎,如果可以實現功能,以後就可以根據自己的需要利用該引擎進行動畫演示。
網上找了一些相關的文章,有的寫得很好,但是因為該開原始碼庫更新頻繁,所以以前的配置教程往往會有過時的情況。現在最新的版本是基於Python 3的,以前的基於Python 2.7的教程已經不再適用於當前代碼。所以在安裝過程中,遇到了不少新問題,在解決的過程中記錄了這些新問題的解決方法。並形成此文。(測試於2019年6月)
在配置前首先得安裝Python 3,這個安裝過程在此處不再贅述。建議通過Anaconda進行安裝,而不是直接安裝Python。這裡的演示也是基於Windows 10 系統,在安裝Anaconda的基礎上完成的。Anaconda的下載地址為:
https://www.anaconda.com/distribution/#download-section
建議選擇安裝Python 3.7 version,具體按照步驟網上有很多。
除此之外,還要下載:
manim:https://github.com/3b1b/manim,選擇clone or download,然後Download ZIP,解壓後到一個合適的位置(路徑中不要包含中文!),即可使用(此為manim引擎所包含的全部文件);miktex:https://miktex.org/download,直接安裝即可,(路徑中不要包含中文!)(此為windows平臺下的Tex套件,TeX 是一種排版語言,主要用於處理視頻中包含的文字信息);ffmpeg:https://ffmpeg.zeranoe.com/builds/,下載好後,放到一個合適的路徑下(路徑中不要包含中文!),解壓後將../bin/目錄添加進用戶環境變量(見後圖)(此為音視頻流處理軟體)dvisvgm:https://dvisvgm.de/Downloads/ ,64位的用戶請注意選擇64位的安裝包,下載好後,放到一個合適的路徑下(路徑中不要包含中文!),解壓後將../dvisvgm/目錄添加進用戶環境變量(見後圖)(此為可以將dvi轉換為高質量svg的軟體)。添加進用戶環境變量的方法
右擊「我的電腦」圖標-「屬性」-左邊的」高級系統設置」
選擇」環境變量」-「用戶變量」中的」Path」-「編輯」-「新建」。
然後把解壓後的FFmpeg的bin文件夾的路徑和dvisvgm的dvisvgm文件夾路徑添加進去,並選擇確定。然後進行環境測試,看各個依賴環境是否都配置妥當(注意:按照個人安裝的實際路徑進行添加,圖中只是一個參考)。
在Anaconda Prompt 中通過命令行配置並測試
具體方法是:右擊」Anaconda Prompt」-「更多」-「以管理員身份運行」
這一步很重要,因為如果不以管理員身份運行很可能帶來權限不夠的情況,妨礙後期的各個程序包的安裝。
在命令行中分別輸入下列命令,並回車運行:
python -version
latex -version
xelatex -version
ffmpeg --version
dvisvgm --version
如果都有類似於上面的版本提示,則說明依賴的軟體安裝成功,否則,回去檢查安裝或用戶路徑的添加是否正確。
打開前面下載並解壓後的manim文件夾,在其中添加一個空白文件夾「media」,並新建一個名字為「MEDIA_DIR.txt」的.txt文件。
在」MEDIA_DIR.txt」文件中輸入剛剛新建的」media」文件夾所在的路徑並保存。
回到Anaconda Prompt中,輸入:
cd <manim 的根目錄>
該命令的意思是:跳轉到manim的根目錄中(注意:按照個人安裝的實際路徑進行添加,圖中只是一個參考)。
然後輸入(手機上如果看不到此處的全部代碼,請在代碼處左右滑動或在電腦上打開該文章):
python -m pip install -r requirements.txt
這個安裝過程中常見的問題是「pycairo」這個包安裝異常。
解決方法是先輸入並運行:
conda install vs2015_runtime
然後再單獨安裝「pycairo」這個包,輸入並運行:
conda install pycairo
現在,基本的東西都安裝好了。嘗試著運行一下測試命令:
python -m manim example_scenes.py SquareToCircle -pl
在運行的時候可能會有形如:ModuleNotFoundError: No module named的錯誤提示,這說明還缺少程序包。請運行命令(注意:<pack name>改為對應缺失的程序包的名字,命令中不含括號或引號):
pip install <pack name>
一個特例是readline包,如果提示「ModuleNotFoundError: No module named 『readline』」,則需要輸入的是:
pip install pyreadline
安裝好提示缺少的包後再輸入並運行:
python -m manim example_scenes.py SquareToCircle -pl
缺什麼程序包就按照上面的方法添加該程序包,直到命令可以通過:
此時打開media文件夾將找到生成的視頻,表示的是正方形變成圓形的動畫演示:
同理,輸入命令:
python -m manim example_scenes.py WarpSquare -pl
得到一個向複平面映射的動畫:
輸入命令:
python -m manim example_scenes.py WriteStuff -pl
此過程中會提示安裝一些程序包,為了加快編譯進度,可以點擊去掉那個複選框的勾選,默認安裝所有需要的程序包。得到的是具有3b1b經典風格的文字動畫:
輸入命令:
python -m manim example_scenes.py UpdatersExample -pl
將得到一個數據隨圖形位置變化的動畫:
是不是手癢了?23333。
如果安裝成功,感謝點讚支持,如果配置遇到什麼問題,歡迎在評論區留言~
(註:本教程僅針對Windows 10 64位系統)
3Blue1Brown的B站主頁:
https://space.bilibili.com/88461692