繁体   English   中英

Fabric命名空间需要fabfile

[英]Fabric namespacing wants a fabfile

我正在完成Fabric Namespaces的基础教程。

我希望做一些类似于使用命名空间构建结构项目的东西

我的__init__.py文件看起来:

from fabric.api import task

@task
def abc():
   pass

当我运行fab --list我收到此错误:

me@galvatron:/tmp/fabric_test$ fab --list

Fatal error: Couldn't find any fabfiles!

Remember that -f can be used to specify fabfile path, and use -h for help.

Aborting.

谁能告诉我我错过了什么或做错了什么?

根据文档 ,该文件夹仍需要命名为fabfile,除非您指定:

$ fab -f myfolder -l

我有同样的问题。 我按照文档http://docs.fabfile.org/en/1.8/usage/fabfiles.html#fabfile-discovery ,构建了一个名为fabfile的模块,并在其中我放了不同的fabfiles,但当我试图运行fab -l我收到错误Fatal error: Fabfile didn't contain any commands!

要解决这个问题,我必须在fabfile/__init__.py导入所有fabfile/__init__.py ,如下所示:

from myfab_1 import *
from other_fab import *
from other_tasks import *

在此之后,我可以做fab -l并获得所有文件中所有任务的列表。 调用fab some_task开始工作了。

我也只是在玩布料,而且文档相当薄。

如果没有-f你需要在一个名为fabfile.py的文件中定义它们,那么尝试将你的函数放在这个文件中,删除所有其他文件,然后'fab abc'应该工作得很好!

如果要执行除fabfile之外的任何其他名称的文件,例如:filename.py

我的filename.py包含内容:

def hello():
    print ("Hello world")

你必须执行这样的命令: fab -f pathToFile methodnameInside.

示例: fab -f filename.py hello

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM