Tôi có một fabfile (fabfile.py) với một số nhiệm vụ tuyên bố:Trong Vải, làm thế nào tôi có thể thực thi các tác vụ từ một tệp python khác?
# fabfile.py
from fabric.api import *
@task
def start():
# code
@task
def stop():
# code
Sau đó, khi tôi cố gắng để gọi bất kỳ của những nhiệm vụ bằng cách sử dụng chức năng thực hiện từ vải như thế này:
# main.py
from fabric.api import execute
from fabfile import * # I don't really know if this is necessary
# or how should it be done
def main():
execute('start')
Nó tăng lỗi này:
Fatal error: None is not callable or a valid task name
ý định của tôi là làm cho một loại wrapper cho một số nhiệm vụ quy định tại fabfile mà có thể được gọi với đối số khác nhau, và nhiệm vụ thực hiện phải được lấy từ các đối số khi bạn thực hiện cuộc gọi đến chương trình chính này, vì vậy tôi không thể gọi hàm một cách rõ ràng, nhưng sử dụng tên tác vụ.
Điều này sẽ được thực hiện như thế nào? Có lẽ tôi hiểu lầm rằng vải được cho là hoạt động như thế nào?
Cảm ơn bạn
Chạy 'fab -h', nó cung cấp:' -f PATH, --fabfile = PATH'. – WKPlus
Nhưng tôi đang cố gắng sử dụng các tác vụ từ một tập lệnh python khác, không sử dụng công cụ fab: s – Garinoth