subprocess.Popen(cmd) 在终端中找不到可以 运行 的命令

subprocess.Popen(cmd) does not find command that can be run in Terminal

对于上下文:我在 macOS 上,使用 Spyder 进行开发。我用 MACTeX 安装了 TeX。

我正在创建一个自动文本文档,我喜欢使用这里提出的解决方案:Generating pdf-latex with python script

在 Spyder 中执行 python 脚本时,我挂在调用 "subprocess.Popen(cmd)" 的线路上。错误是:

FileNotFoundError: [Errno 2] No such file or directory: 'pdflatex'"

如果我尝试在终端中执行命令 pdflatex,它会找到命令并完美执行。

我可能缺少路径或类似的东西,尽管我对错误消息感到困惑,因为它提到缺少文件,我希望缺少命令。

您需要设置 shell=True 以获得正确的 shell 设置:

subprocess.Popen(['pdflatex'], shell=True)