2

我尝试制作 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.

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

$ fab check_apache
check_apache exception

Done.
4

1 回答 1

1

您可以设置env.warn_onlyTrue使用设置上下文管理器。请参阅http://docs.fabfile.org/0.9.3/api/core/context_managers.html?highlight=warn#fabric.context_managers.settings

于 2011-02-17T15:48:24.267 回答