折腾了一下moviepy,各种报错。
moviepy
首先是pip的各种问题,需要用一个国内的安装源,才能正确安装moviepy
pip3 install moviepy -i [国内源]
在Macos上,这个基本都可以安装成功,只要安装源稳定,但在windows上就屡屡出问题,找了很多资料,才找到可行的解决方案
pip3 install moviepy -i http://pypi.douban.com/simple --trusted-host=pypi.douban.com
imagemagick
大部分关于moviepy的文章,都没提到moviepy需要基于这个软件,包括一些讲TextClip的文章,但只要你创建一个TextClip,就会报奇怪的错误,导致哪怕TextClip.list(‘font’)都会报错,按报错信息,基本在网上找不到相关的信息,而且windows和macos报的错还不一样。
macos上可以并且建议用brew安装,因为下载会很麻烦,不过在安装前,需要update一下brew
brew update
brew install imagemagick
官方给出的安装方案中,提到imagemagick需要基于ghostscript
brew install ghostscript
但我安装过程中,brew会自动检查依赖,自动安装
windows下,则需要下载安装包:
官方下载地址
wingdows下安装完后,没法通过配置环境来让moviepy获取imagemagick的路径,需要在moviepy下的config-default.py修改文件
import os
FFMPEG_BINARY = os.getenv('FFMPEG_BINARY', 'ffmpeg-imageio')
#IMAGEMAGICK_BINARY = os.getenv('IMAGEMAGICK_BINARY', 'auto-detect')
IMAGEMAGICK_BINARY = r"C:\Program Files\ImageMagick-7.1.1-Q16\magick.exe"
测试了几次,问题出在os.getenv无法返回正确的路径,需要手动指定。该文件路径在
$(PYTHON_ROOT)\Python311\Lib\site-packages\moviepy\config_defaults.py
如果你是通过微软应用商店安装的python,恭喜你,你肯能很难找得到python的root目录,如果是下载安装的,一般在c:\users\【your】\AppData\local\programs\python