我试图在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对话?
答案 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}}之前你可能需要这样做(并确保文件夹存在)。