Matplotlib 动画 MovieWriters 在 Ubuntu 12.04 上失败
我正在尝试在Ubuntu 12.04 LTS(32位桌面)上通过ffmpeg
将matplotlib动画保存为电影。根据matplotlib的示例,它无法加载动画写入器,出现了错误:AttributeError: 'module' object has no attribute 'writers'
(示例的第15行):
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def update_line(num, data, line):
line.set_data(data[...,:num])
return line,
# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']
我通过apt-get
尝试安装ffmpeg,安装了各种编码器,甚至还尝试从源代码编译ffmpeg。但都没有成功。
我该如何让matplotlib
在Ubuntu上与ffmpeg配合使用呢?
1 个回答
4
如果你使用的是 unbuntu
系统上打包的 matplotlib
版本,那它是 1.1.1rc1
。而 writers
这个功能是在这个版本发布大约三个月后才加入的,所以在 1.2
及之后的版本中才有。
你可以选择从源代码安装 matplotlib
(我就是这么做的,其实也不难),或者使用这个 每日更新的 PPA。
我建议从源代码编译时,尽量使用系统自带的包管理工具来安装大部分依赖项,然后手动安装 matplotlib
(如果你想用 pip,可以参考这个 回答)如下:
git clone git://github.com/matplotlib/matplotlib.git
cd matplotlib
git checkout -b v1.2.0
python setup.py install --prefix=/home/username/local_installs/
这样可以确保你安装的是最新的稳定版本。然后要确保安装路径在你的 $PYTHONPATH
中,这可以通过在你的 ~/.bashrc
文件中加入以下一行来实现:
export PYTHONPATH=/home/username/local_installs/lib/python2.7/site-packages/:$PYTHONPATH
这行内容可能需要根据你使用的 Python 版本稍作调整。在运行 setup.py
之前,你可能需要先做这个(并确保相关文件夹存在),这样它才会顺利运行。