生成PDF文件时Pylatex错误-没有这样的文件或目录



我只想使用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谢谢。

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

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

试试这样做:

apt-get install latexmk

在运行python脚本时,pdflatex命令在您的PATH中吗?和确信你已经安装了texlive,如果它仍然不能工作,试着安装latexmk。

我有同样的问题,只要设置你的PATH,考虑到你已经安装了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

相关内容

  • 没有找到相关文章

最新更新