Python CalledProcessError:命令“[…]”返回非零退出状态127

2024-10-01 15:28:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python中的Bottle开发一个微服务,需要使用.tex文件生成PDF。我正在使用子进程生成PDF,但我一次又一次地收到相同的错误:

Traceback (most recent call last):
File "/Users/casa/Desktop/tesisform/bottle.py", line 763, in _handle
return route.call(**args)
File "/Users/casa/Desktop/tesisform/bottle.py", line 1577, in wrapper
rv = callback(*a, **ka)
File "tesis.py", line 114, in tesis_form
subprocess.check_call(["./runtex", texfname])
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 540, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['./runtex', u'111111']' returned non-zero exit status 127

对于Stackverflow中的同一个错误,我已经尝试了所有的解决方案,但是似乎没有一个能够解决我的问题。我的代码如下

^{pr2}$

这是我的runtex文件

echo $1
cd tmp
pdflatex $1

任何帮助都将不胜感激


Tags: 文件inpybottlepdf错误linecall
2条回答

问题出在外部脚本“runtex”中,而不是在Python代码中。它返回的是状态127;非零状态通常表示错误,并且您已经要求子进程对非零状态抛出异常(通过使用check_call),所以它这样做了。在

127通常表示“找不到命令”,因此这里可能就是这种情况(尽管程序可能由于自身原因返回127)。在

如果runtex中仅此而已,您可能应该:

  • 添加shebang行:#!/bin/sh作为第一行
  • 确保它具有执行权限(chmod +x runtex

脚本的退出状态是最后一个命令的退出状态,因此路径中似乎找不到pdflatex。确保它已安装并位于程序环境中的$PATH上!在

我在工作的电脑里没有乳胶分发。它返回错误127,因为runtex中的pdflatex命令不起作用。i、 e

bash: pdflatex: command not found

安装了MacTeX,现在一切都运转得很顺利!在

相关问题 更多 >

    热门问题