Python: ошибка сломанной трубы для примера PyNomo (в функции Nomographer)

Я использую pycharm на Python 2.7. Я установил PyNomo. Я пытаюсь запустить этот небольшой пример с официального сайта. Код доступен по ссылке, я его просто скопировал и вставил. Я получаю следующую ошибку:

Aligning with tag A
Traceback (most recent call last):
  File "/home/darshil/Desktop/Caltech Summer Internship/Radiation Ononcology Data/DB/rad3/pynomo_temp.py", line 71, in <module>
    Nomographer(main_params)
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomographer.py", line 203, in __init__
    wrapper.draw_nomogram(c,params['post_func'])
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomo_wrapper.py", line 213, in draw_nomogram
    block.draw(canvas)
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomo_wrapper.py", line 445, in draw
    atom.draw(canvas)
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomo_wrapper.py", line 2503, in draw
    axis_appear=p,base_start=base_start,base_stop=base_stop)
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomo_axis.py", line 123, in __init__
    self.draw_axis(canvas)
  File "/usr/local/lib/python2.7/dist-packages/pynomo/nomo_axis.py", line 1067, in draw_axis
    c.text(x,y,ttext,attr+[text_color])
  File "/usr/local/lib/python2.7/dist-packages/pyx/canvas.py", line 324, in text
    return self.insert(self.texrunner.text(x, y, atext, *args, **kwargs))
  File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 1194, in text
    self.execute(expr, self.defaulttexmessagesdefaultrun + self.texmessagesdefaultrun + texmessages)
  File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 951, in execute
    self.defaulttexmessagesstart + self.texmessagesstart)
  File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 1005, in execute
    self.texinput.write(self.expr)
IOError: [Errno 32] Broken pipe
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 748, in _cleantmp
    texrunner.texinput.write("\n\\end\n")
IOError: [Errno 32] Broken pipe
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/usr/local/lib/python2.7/dist-packages/pyx/text.py", line 748, in _cleantmp
    texrunner.texinput.write("\n\\end\n")
IOError: [Errno 32] Broken pipe

Process finished with exit code 1

Ошибка находится в последней строке кода:

Nomographer(main_params)

Я рассмотрел другие вопросы с сообщением «ошибка сломанной трубы»: здесь, здесь и здесь. Но ни один из них мне не помогает.

Любые указания о том, как решить, были бы очень полезны.


person dc95    schedule 07.07.2016    source источник
comment
PyNomo использует установку TeX для набора текста. Может быть, этого не хватает, в результате сломалась труба. У вас должна быть возможность запускать файл hello.tex с содержимым Hello, world!\bye в командной строке tex hello.tex. Должен получиться файл hello.dvi. Если нет, вам нужно установить дистрибутив TeX, например TeXLive.   -  person wobsta    schedule 08.07.2016
comment
Это сработало! Можете ли вы указать это в ответе, чтобы я мог отметить его как правильный? Спасибо!   -  person dc95    schedule 08.07.2016


Ответы (1)


PyNomo для набора текста использует установку TeX. Может быть, этого не хватает, в результате сломалась труба. У вас должна быть возможность запускать файл hello.tex с содержимым Hello, world!\bye в командной строке tex hello.tex. Должен получиться файл hello.dvi. Если нет, вам нужно установить дистрибутив TeX, например TeXLive.

person wobsta    schedule 09.07.2016