2012-05-29 4 views
4

Fabric Namespaces에 대한 기본 자습서를 진행하고 있습니다.Fabric namespacing에서 fabfile을 원합니다.

내가 Structuring a fabric project with namespaces

__init__.py 파일에 비슷한 뭔가를 기대했다 보인다 :

from fabric.api import task 

@task 
def abc(): 
    pass 

내가 fab --list를 실행하면 나는이 오류를 얻을 :

[email protected]:/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. 

사람이 말해 줄 수 무엇 내가 누락되었거나 잘못하고 있습니까?

답변

4

폴더는 여전히 지정하지 않는 한, per the docs로, fabfile 이름을 할 필요가 : 난 그냥 너무 패브릭 놀고 있었는데

$ fab -f myfolder -l 
+1

내가 바보가 된 기분. 몇 번 그 페이지를 읽었습니다. 고마워요 :) – victorawesome

+0

걱정하지 마세요, 그것은 아주 명확한 부분입니다. 문서는 철저하지만 단순한 문장으로 몇 군데에 전달되는 양은 간결하고 매우 밀도가 높습니다. – Morgan

0

및 문서 꽤 얇은입니다.

-f없이 새 기능을 사용하려면 fabfile.py 파일에 정의해야합니다.이 파일에 함수를 넣고 다른 파일을 모두 삭제 한 다음 'fab abc'를 수정해야합니다. 멋지다!

2

동일한 문제가있었습니다. 나는 문서 http://docs.fabfile.org/en/1.8/usage/fabfiles.html#fabfile-discovery을 따라 갔고, fabfile이라는 이름의 모듈을 만들었고, 다른 fabfiles를 넣었습니다. 그러나 실행할 때 시도했습니다. fab -l 나는 Fatal error: Fabfile didn't contain any commands!이라는 오류가 있습니다. 내가 fab -l을 할 수있는,이 후

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

모든 파일에있는 모든 작업의 ​​목록을 가지고 :

난과 같이, fabfile/__init__.py의 모든 fabfiles를 가져올 수 있었다이 문제를 해결합니다. fab some_task으로 전화를 걸기 시작했습니다. 당신이 fabfile, 전 이외의 다른 이름을 가진 파일을 실행하려면

0

는 :

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

당신은 다음과 같은 명령을 실행해야합니다 : filename.py

내 filename.py는 내용을 포함 : fab -f pathToFile methodnameInside.

예 : fab -f filename.py hello

관련 문제