У меня есть сервер Apache (работающий через XAMPP в Arch Linux), который имеет CGI, который должен превращать LaTeX в PDF.
Код в файле CGI:
#! /usr/bin/python
import cgi
import sys
from latex import *
print("Content-Type: text/html\n")
sys.stderr = sys.stdout
min_latex = (r"\documentclass{article}"
r"\begin{document}"
r"Hello, world!"
r"\end{document}")
from latex import build_pdf
pdf = build_pdf(min_latex)
print(bytes(pdf)[:10])
Когда я вызываю CGI в браузере, меня приветствует следующее:
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/latex/build.py", line 111, in build_pdf
stderr=open(os.devnull, 'w'), )
File "/usr/lib/python3.7/subprocess.py", line 341, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['latexmk', '-pdf', '-pdflatex=pdflatex -interaction=batchmode -halt-on-error -no-shell-escape -file-line-error %O %S', '/tmp/tmp6xrmuvgr/tmptrv6zwoh.latex']' returned non-zero exit status 12.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/lampp/htdocs/pdftest.py", line 15, in <module>
pdf = build_pdf(min_latex)
File "/usr/lib/python3.7/site-packages/latex/build.py", line 232, in build_pdf
return builder.build_pdf(source, texinputs)
File "<decorator-gen-1>", line 2, in build_pdf
File "/usr/lib/python3.7/site-packages/data/decorators.py", line 82, in _
return f(*bvals.args, **bvals.kwargs)
File "/usr/lib/python3.7/site-packages/latex/build.py", line 113, in build_pdf
raise_from(LatexBuildError(base_fn + '.log'), e)
File "/usr/lib/python3.7/site-packages/future/utils/__init__.py", line 400, in raise_from
exec(execstr, myglobals, mylocals)
File "<string>", line 1, in <module>
latex.exc.LatexBuildError: None
Программа работает правильно при вызове со стандартным интерпретатором Python.Почему этот код не работает при запуске в CGI?Как я могу это исправить?