我的ffmpeg和matplotlib的安装似乎有问题:
In [9]: matplotlib.animation.writers["ffmpeg"]
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
........
58 def __getitem__(self, name):
59 if not self.avail:
---> 60 raise RuntimeError("No MovieWriters available!")
61 return self.avail[name]
62
RuntimeError: No MovieWriters available!
看起来好像没有找到ffmpeg(或任何其他作家)。但是,我已从源代码构建它并将其安装在~/.local
中。这包含在$PATH
中,我验证了命令ffmpeg
正在终端中运行。
安装ffmpeg时是否应注意什么?还有其他事可做吗?
配置:
注意:我想避免从头开始重新安装。我没有root访问权限,我手动安装的唯一东西就是ffmpeg。
答案 0 :(得分:3)
作者通过the isAvailable
类方法检查可用性,这种方法或多或少只是检查// Checks whether `str' ends with `suffix' ignoring case
bool endsWithIgnoreCase(const std::string& str, const std::string& suffix) {
if (&suffix == &str) return true; // str and suffix are the same string
if (suffix.length() > str.length()) return false;
size_t delta = str.length() - suffix.length();
for (size_t i = 0; i < suffix.length(); ++i) {
if (std::tolower(suffix[i]) != std::tolower(str[delta + i])) return false;
}
return true;
}
是否有效。它检查的路径是popen
类方法的返回值,该方法默认查找类级别属性(由子类提供),以指定要查看路径的rcParams(间接级别为值得)。
对于ffmpeg,这是bin_path
。
mpl.rcParams['animation.ffmpeg_path']