使用fabric2启动本地命令时出现自身错误

2024-10-04 05:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

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在本地启动命令


Tags: runfromimportevent密码homestacklocal
1条回答
网友
1楼 · 发布于 2024-10-04 05:24:49

显然,您应该以某种方式实例化Connection类,如下所示:

cbis = Connection(possibly some arguments).local()

发生此错误的原因是类是Python中的对象。您可以编写自己的示例来产生相同的错误:

class Test:
    def function(self):
        print('hey')

Test.function()
Test().function()

这里,第一个调用没有实例化Test对象,因此,没有向function提供隐式的第一个参数。这将导致错误。第二个调用调用Test的实例的函数,并将隐式的第一个参数(即同一个实例)传递给function。此函数只需要一个参数,因此一切正常。你知道吗

相关问题 更多 >