我想从我的配置文件config.PATH
添加变量到该织物运行命令:Python的织物插入一个变量来运行命令
run('cd $(config.PATH); mkdir releases; mkdir shared; mkdir packages;', fail='ignore')
但我得到的错误:
类型错误:运行()得到了一个意想不到的关键字参数'失败'
我该如何实现我想要做的?或者,还有更好的方法?
我想从我的配置文件config.PATH
添加变量到该织物运行命令:Python的织物插入一个变量来运行命令
run('cd $(config.PATH); mkdir releases; mkdir shared; mkdir packages;', fail='ignore')
但我得到的错误:
类型错误:运行()得到了一个意想不到的关键字参数'失败'
我该如何实现我想要做的?或者,还有更好的方法?
错误告诉你的是run
不接受名为fail
的参数,事实上,如果你看fabric docs for the run()
function,你会发现没有提到这样的参数。
这与试图在您的命令中插入变量无关。
如果您的目的是忽略错误,则应使用warn_only
或quiet
。从文档:
To ignore non-zero return codes, specify
warn_only=True
. To both ignore non-zero return codes and force a command to run silently, specifyquiet=True
.
至于注入的配置变量,我不相信它会工作。在一般情况下,你可以使用Python的字符串格式化的设施,但是对于你的使用情况你最好使用布的cd
context manager:
with cd(config.PATH):
run('YOUR COMMAND HERE')
这将改变远程工作目录命令的持续时间(或命令)在块中。
你是对的谢谢。 config.PATH变量实际上会工作吗? – Prometheus
@Spike我不这么认为。我已更新我的回覆。 – tawmas
谢谢,你已经得到了巨大的帮助:) – Prometheus