Я пытаюсь создать ткань в первый раз, и я пытаюсь запустить пример приветствия из своей документации: http://docs.fabfile.org/en/1.14/tutorial.html
Я создал локальный файл с именем fabfile.py, который содержит следующие строки кода:
def hello():
print("Hello world!")
Теперь я пытаюсь запустить его в интерпретаторе python:
> >>> import fabric
> >>> import fabfile
> >>> fab hello File "<stdin>", line 1
> fab hello
> ^ SyntaxError: invalid syntax
> >>> from fabfile import hello
"From fabfile import hello" работает, поэтому он должен видеть файл и функцию hello как ошибки, если я пытаюсь сделать то же самое с нежелательными ключевыми словами. Однако затем я пытаюсь запустить код с использованием синтаксиса "fab function", он выдает ошибку "недопустимый синтаксис".
Не могли бы вы рассказать мне, что я делаю неправильно?
Изменение: если я пытаюсь запустить его в терминале напрямую, он не работает ни
[user@host folder]$ bash
[user@host folder]$ fab hello
No idea what 'hello' is!
[user@host folder]$
[user@host folder]$ ls
fabfile.py fabfile.pyc test-connect.py TST_SYBASE.txt
ПЕРВЫЙ ВЕЩЬ - ДОКУМЕНТАЦИЯ ДЛЯ ТКАНИ.
fabfile.py
должен иметь правильный декоратор:
from fabric import task
@task
def hello(ctx):
print("Hello World")
ВТОРОЙ
Документация показывает, что fab hello
должен быть выполнен на более высоком уровне, в shell
, например bash
.
Убедитесь, что вы находитесь в pwd
который имеет ваш файл ткани.
Запустите fab hello
.
Это должно выглядеть так:
Twoodys-MacBook-Air:fabQ twoody$ ls
fabfile.py
Twoodys-MacBook-Air:fabQ twoody$ fab hello
Hello World
Twoodys-MacBook-Air:fabQ twoody$