这是我的代码:
from fabric2 import Connection
cbis = Connection.local()
with cbis.cd('/home/bussiere/Workspace/Stack/Event/'):
cbis.run('git add .')
但是我有这个错误:
TypeError: local() missing 1 required positional argument: 'self'
如何使用fabric2在本地启动命令
答案 0 :(得分:0)
显然,您应该以某种方式实例化Connection
类,如下所示:
cbis = Connection(possibly some arguments).local()
发生此错误是因为类是Python中的对象。您可以编写自己的示例,该示例将产生相同的错误:
class Test:
def function(self):
print('hey')
Test.function()
Test().function()
此处,第一次调用不会实例化Test
对象,因此,没有隐式的第一参数提供给function
。这会导致错误。第二个调用调用Test
实例的函数,并将隐式第一个参数(即同一实例)传递给function
。该函数只需要一个参数,因此一切正常。