我是第一次尝试使用Fabric,并且尝试从他们的文档中运行hello world示例: http://docs.fabfile.org/en/1.14/tutorial.html
我创建了一个名为fabfile.py的本地文件,其中包含以下代码行:
highest = max(ID_dict.values())
print([k for k, v in ID_dict.items() if v == highest])
现在,我尝试在python解释器中运行它:
def hello():
print("Hello world!")
'from fabfile import hello'有效,因此如果我尝试使用垃圾关键字,它必须看到文件和hello函数,因为它出错。但是,然后我尝试使用“ fab function ”语法运行代码,它引发了“无效语法”错误。
能告诉我我做错了什么吗?
编辑: 如果我尝试直接在终端中运行它,也将无法正常工作
> >>> import fabric
> >>> import fabfile
> >>> fab hello File "<stdin>", line 1
> fab hello
> ^ SyntaxError: invalid syntax
> >>> from fabfile import hello
答案 0 :(得分:0)
第一件事是面料的过时文件
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$