Fabric方法异常

时间:2011-02-17 15:21:49

标签: python exception fabric

我尝试制作Fabric func,它会检查Apache是​​否已安装:

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.

如何为Fabric local()方法获取正确的异常?所以我需要获得异常并继续执行而不会出现任何Fabric错误消息:

$ fab check_apache
check_apache exception

Done.

1 个答案:

答案 0 :(得分:1)

您可以将env.warn_only设置为True或使用设置上下文管理器。见http://docs.fabfile.org/0.9.3/api/core/context_managers.html?highlight=warn#fabric.context_managers.settings