python-Matplotlib动画MovieWriters在Ubuntu 12.04上失败

提问

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

最佳答案

如果您使用的是matplotlib的unbuntu打包版本,则为1.1.1rc1.在该标记之后大约3个月添加了属性writer,并且该属性的版本为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版本稍微改变该行.在setup.py满意之前,您可能需要执行此操作(并确保文件夹存在).

评论