首页 > 解决方案 > 如何在启动 PyLatex 或 Latexmk 期间隐藏命令提示符弹出窗口

问题描述

如何隐藏在启动和执行pylatex代码期间弹出的命令提示符。我有一个页面正在处理它并生成pdf。运行代码时需要隐藏弹出窗口。

谈论这个窗口:

在此处输入图像描述

有没有办法隐藏或不显示latexmk.exe弹出窗口?

我一直在谷歌搜索和搜索,但没有发现与该问题相关的任何内容。

标签: pythonpython-3.xcmdlatexpylatex

解决方案


在查看了 Pylatex 的源代码后,我猜您可能正在使用的 generate_pdf() 方法实际上允许使用 silent=true/false 参数

来源评论:

silent: bool
    Whether to hide compiler output

但是,这似乎并没有做很多事情,我相信如果您要传入该参数,您可能仍会面临同样的问题,因为:

    else:
        if not silent:
            print(output.decode())

似乎有两个单独的地方使用 check_output ,这是一个子过程方法,被调用来启动latexmk。这有助于您看到的窗口。

pyltest/document.py 行:

  • 227

        output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT)
    
  • 248

         output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT)
    

可能的解决方案

您可以通过传入额外的参数 shell=True 对这两行进行调整,该参数在调用 latexmk 时不会显示 cmd 窗口。

         output = subprocess.check_output(command,
                                         stderr=subprocess.STDOUT,
                                         shell=True)

推荐阅读