PyLatex基本脚本将无法运行,因为找不到脚本解释器

时间:2016-04-11 22:48:07

标签: python

我正在尝试学习PyLatex。我已经通过pip安装了它,并从here复制了基本代码,我遇到了这个问题:

C:\Conner\Scripts>pylatAttempt.py
latexmk: The script interpreter could not be found.
latexmk: Data: scriptInterpreter="perl.exe"
Traceback (most recent call last):
File "C:\Conner\Scripts\pylatAttempt.py", line 23, in <module>doc.generate_pdf()
File "C:\Python27\ArcGIS10.2\lib\site-packages\pylatex\document.py", line 193, in generate_pdf raise(e) 
subprocess.CalledProcessError: Command '[u'latexmk', u'--pdf', u'--interaction=nonstopmode', u'basic.tex']' returned non-zero exit status 1

我已经下载了MiKTeX 2.9,我还需要其他什么吗?这里出了什么问题?从文档看来,您需要安装的只是pylatex。

3 个答案:

答案 0 :(得分:5)

您可以将编译器更改为pdflatex而不是latexmk,如果您已安装miktex和pdflatex,则可以使用它。 latexmk默认是编译器。

doc.generate_pdf(clean_tex=False,compiler='pdflatex')

答案 1 :(得分:3)

如果有人发现这一点,事实证明,为了让PyLatex工作,你还必须安装Perl。一旦我从here下载了Perl,就可以了。 确保Perl在PATH中。

答案 2 :(得分:2)

我正在使用 Python 2.7.14 :: Anaconda,Inc。,当我第一次尝试执行 PyLaTeX的示例时遇到了同样的问题在 https://jeltef.github.io/PyLaTeX/latest/examples/basic.html

1)当我在安装 MikTeX

之前执行复制的代码时
  (pylatex) G:\RishikeshAgrawani\ProjectsWin7\Python3\PyLaTeX\pylatex\01_basic>python 01
  Traceback (most recent call last):
    File "01_basic.py", line 24, in <module>
      doc.generate_pdf(clean_tex=False)
    File "C:\Anaconda2.5.0.1\lib\site-packages\pylatex\document.py", line 317, in genera
      u'or make sure you have latexmk or pdfLaTex installed.'
  pylatex.errors.CompilerError: No LaTex compiler was found
  Either specify a LaTex compiler or make sure you have latexmk or pdfLaTex installed.

2)安装 MikTeX

之后

您可以看到上面的输出,它正在寻找我们可以通过安装 MikTeX 安装的LaTex compiler

另请阅读Using latexmk with MikTeX

您可以在https://miktex.org/download下载 MikTeX

  (C:\Anaconda2.5.0.1) G:\RishikeshAgrawani\ProjectsWin7\Python3\PyLaTeX\pylatex\01_basic>python 01_basic.py
  latexmk: The script engine could not be found.
  latexmk: Data: scriptEngine="perl.exe"

  Traceback (most recent call last):
    File "01_basic.py", line 24, in <module>
      doc.generate_pdf(clean_tex=False)
    File "C:\Anaconda2.5.0.1\lib\site-packages\pylatex\document.py", line 269, in generate_pdf
      stderr=subprocess.STDOUT)
    File "C:\Anaconda2.5.0.1\lib\subprocess.py", line 219, in check_output
      raise CalledProcessError(retcode, cmd, output=output)
  subprocess.CalledProcessError: Command '[u'latexmk', u'--pdf', u'--interaction=nonstopmode', u'basic.tex']' returned non-zero exit
   status 1

3)安装 STARWBERRY PERL

您可以看到上面的输出,它正在寻找perl.exe

所以我从http://strawberryperl.com/下载了Strawberry perl并安装了它。

现在我成功运行了代码并获得了PDF。

  (C:\Anaconda2.5.0.1) G:\RishikeshAgrawani\ProjectsWin7\Python3\PyLaTeX\pylatex\01_basic>python 01_basic.py

  (C:\Anaconda2.5.0.1) G:\RishikeshAgrawani\ProjectsWin7\Python3\PyLaTeX\pylatex\01_basic>

那就是它。