在Ubuntu 12.04上,Matplotlib动画MovieWriters无法运行

3

我尝试在Ubuntu 12.04 LTS(32位桌面版)上通过ffmpeg将matplotlib动画保存为电影。按照matplotlib示例,它无法加载动画编写器:AttributeError:'module'对象没有属性'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。但是什么都没用。

在Ubuntu上如何让matplotlib与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中,可以通过包含以下行来完成:

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

在您的~/.bashrc文件中添加以下行。根据您使用的Python版本可能需要稍作修改。在运行setup.py之前,请确保目录已存在。

也许最简单的安装方法是使用pip和virtualenv。请参见:https://dev59.com/HOo6XIcBkEYKwwoYPSH7#11864996 - bmu
@bmu 将您的链接添加到主文本中。 - tacaswell
@tcaswell 这是一周内你第二次帮助我了。谢谢!当你读到答案时,它是多么显而易见...我简单地没有考虑打包版本不是最新的。 - ph0t0n
@jjwebster 很高兴能够帮助您。如果答案解决了您的问题,您可以考虑接受它们(在左侧的勾号)。自私地说,这会增加我的声望,无私地说,它也有助于未来遇到相同问题的人知道您发现的答案很有用。 - tacaswell
@tcaswell 你说得对。我不知道“check”是声望来自哪里的...我以为是赞同(在我自己获得15个声望之前我无法进行赞同...) - ph0t0n
@jjwebster,声望来自两方面。接受答案还会获得2点声望。请参阅http://stackoverflow.com/faq#reputation。 - tacaswell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接