4

如果 Fabric 在执行命令时遇到错误代码local(),它会抛出如下异常:

Fatal error: local() encountered an error (return code 127) while executing '...'

但是,即使您指定,它实际上也不会显示任何命令stdout或命令,这是非常无用的。有关于如何捕获这些的解释,但是由于 Fabric 抛出异常,您无法从中保存结果并对其进行自省。stderrcapture=Truelocal()

如何让 Fabric 在运行时遇到错误时显示有用的错误消息local()

4

1 回答 1

0

如果您仍然关心,可以使用来自 github 的工具来完成此操作;角撑板

如果您选择遵循此选项,您的代码将如下所示:

from gusset.output import with_output
from fabric.api import local, task

@with_output(verbosity=2)
@task
def my_failing_task():
    local("blahblah")

In [4]: my_failing_task()
[localhost] local: blahblah
/bin/sh: 1: blahblah: not found

Fatal error: local() encountered an error (return code 127) while executing 'blahakh'

None

Aborting.
An exception has occurred, use %tb to see the full traceback.

另外我想您可以从 Gusset 获取代码,然后将其粘贴到您自己的应用程序中

于 2013-08-22T05:41:39.267 回答