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.

また、ガセットからコードを取得して、独自のアプリケーションに貼り付けるだけでよいと思います

于 2013-08-22T05:41:39.267 に答える