2016-10-14 3 views
2

Я просто хочу использовать Pylatex для генерации PDF-файла. Я смотрю на основной пример и заново запускаю скрипт, но он поднял ошибку: OSError: [Errno 2] Нет такого файла или каталога.Ошибка Pylatex при создании файла PDF - Нет такого файла или каталога

Вот мой сценарий:

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 Большое спасибо.

+0

У меня была такая же проблема. Вы находите какое-либо решение? –

ответ

2

на основе кода вокруг ошибки, вы, вероятно, отсутствует латексный компилятор:

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

Попробуйте сделать это:

apt-get install latexmk 
0

ли команда pdflatex в вашем PATH при запуске питона скрипт? И пусть действительно уверен, что вы установили texlive, и если он все еще не работает, попробуйте установить latexmk.

У меня была такая же проблема, просто установите PATH, учитывая, что у вас установлен texlive.

В моем случае проблема была ПУТЬ. Я запускал веб-сайт, используя Flask, хостинг с использованием uWsgi в качестве сервиса, а PATH был установлен только с моим virtualenv.

Так я установил добавление ":/USR/бен" и работал, см ниже:

[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 
Смежные вопросы