SafeConfigParser出现在Python结构中';s可用的命令

SafeConfigParser出现在Python结构中';s可用的命令,python,fabric,Python,Fabric,我正在学习Python并使用Fabric库。我了解到,如果使用fab--list命令,它会显示可用命令的列表 from fabric.api import * from ConfigParser import SafeConfigParser import os def install_nova(): ... def deploy_vms(): ... 其中,…表示要为给定命令执行的代码。当我执行fab--list时,它应该只显示选项install\u nova和deplo

我正在学习Python并使用Fabric库。我了解到,如果使用
fab--list
命令,它会显示可用命令的列表

from fabric.api import *
from ConfigParser import SafeConfigParser
import os

def install_nova():
    ...

def deploy_vms():
    ...
其中,
表示要为给定命令执行的代码。当我执行
fab--list
时,它应该只显示选项
install\u nova
deploy\u vms
。然而,我得到了这个-

Available commands:

    SafeConfigParser
    deploy_vms
    install_nova
我有以下问题-

  • 为什么
    SafeConfigParser
    显示为可用命令
  • 如何从可用命令选项中删除
    SafeConfigParser
结构版本为:

Fabric 1.8.0

Paramiko 1.11.2
Python 2.7.5
python版本为:

Fabric 1.8.0

Paramiko 1.11.2
Python 2.7.5

您必须将
@task
装饰器应用于所有函数:

@task
def install_nova():
    ...
@task
def deploy_vms():
    ...

如果不使用
@task
,fabric将把所有函数都当作命令

尝试从ConfigParser导入SafeConfigParser作为_ConfigParser@J.F.Sebastian这也行!你能解释一下为什么吗?看看这个!然而,如果Fabric将所有函数都视为命令,它就不应该显示SafeConfigParser,因为我还没有定义任何具有该名称的方法。我只有
install\u nova()
deploy\u vms()
。是的,但是您在命名空间中导入了SafeConfigParser。