I am relatively new to Python (I used MATLAB a lot more). I essentially want to be able to make and save animations. So I went and checked how it's done and found this :
http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/
I straight up copied/pasted the code in an IPython Notebook.
I understand that ffmpeg must be installed, which I thought I did (according to http://www.wikihow.com/Install-FFmpeg-on-Windows). The path is C:/ffmpeg. It does work when I try ffmpeg -version in the command prompt. It also works in WinPython's command prompt. I don't know if it helps, but the path for Ipython is :
C:\Users\Sal\WinPython-32bit-3.3.2.3\python-3.3.2\Scripts /
However, it still doesn't work. The error given is :
AttributeError: 'str' object has no attribute 'saving'
This error occurs at the .save command of course.
I even tried to add what's below. Doesn't do anything extra.
writer = 'ffmpeg'
I am using Windows 7, WinPython3.3.
Thank you very much
I came across the exact same error as I started working with animations using the exact same example to start with. First of all,
I am using Windows 7, Python 2.7.6, matplotlib 1.3.1
Short answer: Try to set up the FFMpegWriter yourself by
mywriter = animation.FFMpegWriter()
anim.save('mymovie.mp4',writer=mywriter)
Long answer: I am quite sure that there is a bug in matplotblib.animation.save
There is the following line
if is_string_like(writer):
to catch the case that the user defined writer is actually not a writer function but just its name. It then instanciates an instance of that writer if it's available
if writer in writers.avail:
writer = writers[writer](fps, codec, bitrate,
extra_args=extra_args,
metadata=metadata
However, and here is the bug, if the user defined writer is not in writers.avail
it just uses
writer = writers.list()[0]
which itself returns a string with the name of the writer to be used. However, this string is nowhere used to actually instanciate a writer object!