LINUX.ORG.RU

Как нормально подождать подпроцес pdflatex?

 , , ,


1

2
p = Popen(["pdflatex", "-halt-on-error", "-interaction=batchmode", name+".tex"], cwd=tmp, stdout=PIPE, stderr=PIPE)
p.communicate()

Так pdflatex ничего не конвертит, в логе странные ошибки:

...
! Emergency stop.
<*> tsnhovwrel.tex
Here is how much of TeX's memory you used:
...
!  ==> Fatal error occurred, no output PDF file produced!
Сам тех компилится номально, даже той же самой командой из консоли, более того, если убрать вызов communicate, всё тоже работает нормально, но код который идёт дальше первым делом проверяет создался ли пдф файл - а он то всё ещё компилится... Пробовал wait вместо communicate - всё аналогично. ЧЯДНТ?

А ещё всё работает прекрасно в питоновой консоли, эти проблемы возникают когда код вызывается внутри джанги. Теперь я совсем ННП.

★★★

Последнее исправление: Kalashnikov (всего исправлений: 1)

Во многие знания многие печали однако...

os.system("pdflatex -halt-on-error -interaction=batchmode "+name+".tex")
спасет юного падована.

AIv ★★★★★
()

Гм, ещё страньше: код выше прекрасно работает в консоли, а описанные проблемы только когда оно вызывается в джанге.

Kalashnikov ★★★
() автор топика

Попробуй envoy там на самом деле достаточно много костылей для разных платформ нужно, чтобы оно работало как надо.

https://github.com/kennethreitz/envoy

zz ★★★★
()
Ответ на: комментарий от AIv

Мне совсем не нравилась эта идея, но попробовал - результат тот же: пдф не компилится, в логе невнятные ошибки.

Kalashnikov ★★★
() автор топика
Ответ на: комментарий от Kalashnikov

О_О? тогда это со стороны джанги какие то косяки. Ну попробуйте конечно просто pdflatex безо всяких доп.опций, но вообще то os.system должен работать... ХЗ правда как джанга это дело запускает.

AIv ★★★★★
()
Ответ на: комментарий от Kalashnikov

можно еще к процессу цепляться, в котором выполняется джанга

xpahos ★★★★★
()
Ответ на: комментарий от O02eg

А что именно проверить? В контексте вызова шелла некоторое подмножество моих, плюс чуть-чуть джанговских. PATH в порядке, на что ещё смотреть не знаю, в глаза ничего не бросается.

Мне вообще кажется, может процесс убивается сразу после старта, потому и такие странные ошибки...

Kalashnikov ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.