2

Apache がインストールされているかどうかを確認する Fabric func を作成しようとしています。

from fabric.api import *

def check_apache():
    try:
        result = local('httpd -v', capture=True)
    except:
        print "check_apache exception"

しかし、httpd がインストールされていない場合は、次のようになります。

$ fab check_apache

Fatal error: local() encountered an error (return code 127) while executing 'ahttpd -v'

Aborting.
check_apache exception

Done.

local()Fabricメソッドの正しい例外を取得するにはどうすればよいですか? したがって、例外を取得して、Fabric エラー メッセージなしで実行を継続する必要があります。

$ fab check_apache
check_apache exception

Done.
4

1 に答える 1

1

設定コンテキストマネージャーを設定または使用env.warn_onlyできます。http://docs.fabfile.org/0.9.3/api/core/context_managers.html?highlight=warn#fabric.context_managers.settingsTrueを参照してください。

于 2011-02-17T15:48:24.267 に答える