我对Python比较陌生(我更多地使用MATLAB)。我基本上希望能够制作和保存动画。所以我去检查了一下是怎么做的,发现了这个:http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/
我直接把代码复制/粘贴到了一个IPython笔记本上。
我知道必须安装ffmpeg,我以为我安装了(根据http://www.wikihow.com/Install-FFmpeg-on-Windows)。路径为C:/ffmpeg。当我在命令提示符下尝试ffmpeg-version时,它确实有效。它也适用于WinPython的命令提示符。我不知道这是否有帮助,但Ipython的路径是:C: \Users\Sal\WinPython-32bit-3.3.2.3 \ python-3.2\脚本/
然而,它仍然不起作用。给出的错误为:AttributeError:"str"对象没有属性"save"这个错误当然发生在.save命令中。我甚至试着添加下面的内容。不做任何额外的事情。writer='ffmpeg'
我使用的是Windows7,WinPython3.3。
非常感谢
在开始使用完全相同的示例处理动画时,我遇到了完全相同的错误。首先,
我使用的是Windows7,Python 2.7.6,matplotlib 1.3.1
简短回答:尝试通过自己设置FFMpegWriter
mywriter = animation.FFMpegWriter()
anim.save('mymovie.mp4',writer=mywriter)
长回答:我很确定matplotblib.animation.save
中存在错误有以下线路
if is_string_like(writer):
以捕捉用户定义的编写器实际上不是编写器函数,而只是它的名称的情况。然后,如果可用,它会实例化该编写器的实例
if writer in writers.avail:
writer = writers[writer](fps, codec, bitrate,
extra_args=extra_args,
metadata=metadata
然而,这里有一个错误,如果用户定义的编写器不在writers.avail
中,它只使用
writer = writers.list()[0]
它本身返回一个字符串,其中包含要使用的写入程序的名称。然而,这个字符串并没有被用来实际安装写入程序对象!