【发布时间】:2022-10-18 15:42:34
【问题描述】:
我正在尝试使用PyInstaller 从PyQt5 GUI 创建一个 macOS 独立应用程序。除了使用pdflatex 模块(与Pylatex 结合使用)从TEX 文件自动生成PDF 之外,所有这些都可以工作。
pylatex 和pdflatex 模块都需要调用subprocess 模块,具体操作如下:
fp = subprocess.run(args, input=self.latex, env=env, timeout=15, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
在哪里args=['pdflatex', '-output-directory=/Users/Desktop', '-interaction-mode=batchmode', '-jobname=test']
但是,这在捆绑的应用程序中不起作用,因为它因我正在记录到文件的以下错误而崩溃:
[Errno 2] No such file or directory: 'pdflatex'
显然,pdflatex 可执行文件未包含在捆绑包中。在终端中运行 which pdflatex 会输出以下目录:/Library/TeX/texbin/pdflatex 所以我尝试使用以下 PyInstaller 命令添加路径:
pyinstaller --noconsole --onefile --path "/Library/TeX/texbin" main.py
但是应用程序在运行时仍然找不到pdflatex 可执行文件,而终端可执行文件可以正常工作。我已经在网上用尽了所有类似的帖子并且没有东西可以尝试,所以我希望有人可以指导我找到解决方案。
相关资料:
- macOS 版本:10.13.6 High Sierra
- Python:3.8
- PyInstaller:5.1
【问题讨论】:
-
你找到解决办法了吗?我也有同样的问题
-
我也有同样的问题,有解决办法吗?
标签: python subprocess latex pyinstaller pdflatex