2

我只想使用 Pylatex 生成 pdf 文件。我查看了基本示例并重新运行脚本,但它引发了错误:OSError: [Errno 2] No such file or directory。

这是我的脚本:

import sys
from pylatex import Document, Section, Subsection, Command
from pylatex.utils import italic, NoEscape


def fill_document(doc):
    """Add a section, a subsection and some text to the document.
    :param doc: the document
    :type doc: :class:`pylatex.document.Document` instance
    """
    with doc.create(Section('A section')):
        doc.append('Some regular text and some ')
        doc.append(italic('italic text. '))

        with doc.create(Subsection('A subsection')):
            doc.append('Also some crazy characters: $&#{}')


if __name__ == '__main__':
    reload(sys)
    sys.setdefaultencoding('utf8')
    # Basic document
    doc = Document()
    fill_document(doc)

    doc.generate_pdf("full")
    doc.generate_tex()

和错误:

Traceback (most recent call last):
  File "/Users/code/Test Generator/Generate.py", line 34, in <module>
    doc.generate_pdf("full")
  File "/Library/Python/2.7/site-packages/pylatex/document.py", line 227, in generate_pdf
    raise(os_error)
OSError: [Errno 2] No such file or directory

有人能帮我吗 ?:-D 非常感谢。

4

2 回答 2

2

根据错误周围的代码,您可能缺少乳胶编译器:

compilers = (
    ('latexmk', latexmk_args),
    ('pdflatex', [])
)

尝试这样做:

apt-get install latexmk
于 2016-10-19T19:49:02.437 回答
0

运行 python 脚本时,您的 PATH 中是否有 pdflatex 命令?并确保您已经安装了 texlive,如果它仍然无法正常工作,请尝试安装 latexmk。

我有同样的问题,只要设置你的路径,考虑到你已经安装了 texlive。

就我而言,他的问题是PATH。我正在使用 Flask 运行一个网站,使用 uWsgi 作为服务进行托管,并且 PATH 是在我的 virtualenv 中设置的。

所以我修复了添加“:/usr/bin”并工作,见下文:

[Unit]
Description=uWSGI instance to serve myproject
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/sites/simapp
Environment="PATH=/env/flask3/bin:/usr/bin"
ExecStart=/env/flask3/bin/uwsgi --ini /sites/simapp/simapp.ini

[Install]
WantedBy=multi-user.target
于 2017-08-20T08:26:49.693 回答