2013-07-14 3 views
0

Я изучаю, как программировать на Python, и проходил через Langtangen's A Primer on Scientific Programming с Python. Книга относится к веб-сайту, на котором есть примеры книг или примеры/программы рабочего кода, размещенные там (http://hplgit.github.io/scipro-primer/), и среди них также есть пара, в которой используется SciTools (EasyViz), создайте пару графиков, а затем попытайтесь сохранить их в a. gif-файл (который, по-моему, является форматом вывода по умолчанию для фильма).Python (SciTools) - ошибка в кодировщике при попытке сделать фильм (не удается сохранить)

Проблема в том, что я получаю сообщение об ошибке при запуске программ. Я вижу эволюцию через изменяющиеся цифры, но в конце, когда программа должна сохранить эти файлы .png в кино, я получаю следующее сообщение об ошибке:

Found 73 files of the format tmp_*.png. 
scitools.easyviz.movie function runs the command: 
convert -delay 50 tmp_*.png tmp_heatwave.gif 
Invalid Parameter - 50 

scitools.easyviz.movie could not make movie 
Traceback (most recent call last): 
File "D:\Workspaces\Eclipse Python Workspace\Book Examples\src\plot\heatwave.py", line 41, in <module> 
output_file='tmp_heatwave.gif') 
File "C:\Python27\lib\site-packages\scitools\easyviz\movie.py", line 1151, in movie 
me.encode() 
File "C:\Python27\lib\site-packages\scitools\easyviz\movie.py", line 153, in encode 
raise SystemError('Check error messages from the encoder in the terminal window') 
SystemError: Check error messages from the encoder in the terminal window 

Я посмотрел на код в модуле фильма и параметр 50, по-видимому, относится к задержке в fps. Например, в другой примерной программе установлено значение 4, и вы также получите одно и то же сообщение возврата. И если я удалю эту линию задержки в модуле реализован в SciTools входят в пакет сам, ошибка будет гласить:

Invalid Parameter - tmp_heatwave.gif 

Может кто-нибудь сказать мне, что происходит? Я не изменил код, и я уверен, что это правильно, но я не могу сохранять фильмы, как я должен!

ответ

0

Я столкнулся с той же проблемой (также изучая ту же книгу).
Для меня это произошло, когда я запустил файл bisection_movie.py.

В моем случае, как я решил это было следующим образом:

  1. В следующем веб-сайте они упоминают, что мне нужно было установлено программное обеспечение ImageMagick, поэтому я установил его following the instructions listed here.

  2. После этого я установил интерфейс python с ImageMagick под названием Python Magick (не знал, нужно ли мне, но я все еще это сделал).

  3. После этого у меня все еще были проблемы, и я решил сделать то, что предлагалось с сообщением об ошибке, чтобы проверить окно команд для сообщения об ошибке из кодера. Это было давно, но одна из частей сказал

    No such file or directory @ error/ps.c/ReadPSImage/837

  4. Посмотрев эту ошибку в Интернете, я обнаружил, что я до сих пор отсутствовал был «Ghostscript Делегат библиотека» (Дон Не спрашивай меня, что это такое, я не знаю. После установки библиотеки делегатов Ghostscript для окон (32 бит, так как это моя версия python). Он был решен, и он смог создать фильм.

Я бы предложил сначала установить библиотеку делегатов ghostscript и проверить, достаточно ли этого. Если это так, верните назад, чтобы он работал, поэтому я знаю все проклятые вещи, которые я сделал, что это заставило код работать.

+0

Спасибо. В настоящее время у меня нет времени на проверку, и я давно не программировал на Python, поэтому я не принял ваш ответ (пока). Однако я благодарен за ввод и приму ваш ответ, как только проверю его. – Ryker