Ошибка matplotlib.animation. Система не может найти указанный файл.

При попытке запуска простого кода примера анимации в python я получаю сообщение об ошибке, которое я не могу решить.

Traceback (most recent call last): File "D:/CG/dynamic_image2.py", line 29, in <module> ani.save('dynamic_images.mp4') File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 127, in save self._make_movie(filename, fps, codec, frame_prefix) File "C:\Python27\lib\site-packages\matplotlib\animation.py", line 164, in _make_movie stdout=PIPE, stderr=PIPE) File "C:\Python27\lib\subprocess.py", line 679, in __init__ errread, errwrite) File "C:\Python27\lib\subprocess.py", line 893, in _execute_child startupinfo) WindowsError: [Error 2] The system cannot find the file specified 

Я нашел похожие ситуации ( link1 , link2 ), но все же я не знаю, как разрешить мои …

Я использую: Python 2.7.2 | EPD 7.2-2 (32-разрядный) | (по умолчанию, сент. 14 2011, 11:02:05) [MSC v.1500 32 бит (Intel)] на win32

Надеюсь, кто-то может мне помочь!

У меня была такая же ситуация, но разрешение было простым, если вы просто хотите посмотреть анимацию. Ваш пролегм связан с ani.save ('dynamic_images.mp4'), который не нужен для самой анимации. Просто прокомментируйте это. Сбой вашего кода из-за отсутствия установленного кодека (скорее всего). animation.py содержит код ниже. Если аргумент codec для _make_movie равен None, используется ffmpeg (google it), тогда вам нужно, чтобы он был установлен и доступен на вашем пути. В противном случае вы можете использовать mencoder, который также должен быть установлен и находится в пути.

 def ffmpeg_cmd(self, fname, fps, codec, frame_prefix): # Returns the command line parameters for subprocess to use # ffmpeg to create a movie return ['ffmpeg', '-y', '-r', str(fps), '-b', '1800k', '-i', '%s%%04d.png' % frame_prefix, fname] def mencoder_cmd(self, fname, fps, codec, frame_prefix): # Returns the command line parameters for subprocess to use # mencoder to create a movie return ['mencoder', 'mf://%s*.png' % frame_prefix, '-mf', 'type=png:fps=%d' % fps, '-ovc', 'lavc', '-lavcopts', 'vcodec=%s' % codec, '-oac', 'copy', '-o', fname] def _make_movie(self, fname, fps, codec, frame_prefix, cmd_gen=None): # Uses subprocess to call the program for assembling frames into a # movie file. *cmd_gen* is a callable that generates the sequence # of command line arguments from a few configuration options. from subprocess import Popen, PIPE if cmd_gen is None: cmd_gen = self.ffmpeg_cmd command = cmd_gen(fname, fps, codec, frame_prefix) verbose.report('Animation._make_movie running command: %s'%' '.join(command)) proc = Popen(command, shell=False, stdout=PIPE, stderr=PIPE) proc.wait()