生成PDF文件时出现Pylatex错误 - 没有此类文件或目录

时间:2016-10-14 09:32:37

标签: python nosuchfileexception

我只想使用Pylatex生成pdf文件。我查看基本示例并重新运行脚本,但它引发了错误:OSError:[Errno 2]没有这样的文件或目录。

这是我的剧本:

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非常感谢。

2 个答案:

答案 0 :(得分:2)

根据错误代码,你可能错过了一个乳胶编译器:

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

尝试这样做:

apt-get install latexmk

答案 1 :(得分:0)

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

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

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

所以我修复了添加&#34;:/ usr / bin&#34;并且工作,见下文:

[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