Matplotlib动画MovieWriters在Ubuntu 12.04上失败

时间:2013-02-10 21:55:58

标签: python ubuntu ffmpeg matplotlib

我试图在Ubuntu 12.04 LTS(32位桌面)上通过ffmpeg将matplotlib动画保存到电影中。在matplotlib example之后,它无法加载动画编写器: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 个答案:

答案 0 :(得分:4)

如果您使用unbuntu matplotlib的{​​{1}}打包版本,则为1.1.1rc1。在该标记后约3个月添加了属性writers,并且版本为1.2及更高版本。

您可以从源代码安装matplotlib(这是我做的,也不是太糟糕)或使用daily ppa

我从源代码编译的建议是尽可能多地使用打包系统,并手动安装matplotlib(如果你想使用pip see this answer

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,可以通过包含该行来完成

export PYTHONPATH=/home/username/local_installs/lib/python2.7/site-packages/:$PYTHONPATH

~/.bashrc文件中。根据您使用的python版本,您可能需要稍微改变一下这一行。 <{1}}之前你可能需要这样做(并确保文件夹存在)。