Python 织物&x27;s run函数在较大的场景中不起作用,而在较小的场景中工作良好

Python 织物&x27;s run函数在较大的场景中不起作用,而在较小的场景中工作良好,python,deployment,fabric,Python,Deployment,Fabric,这是完整的脚本 from fabric.api import run, env, execute env.hosts = ['root@host',] def install(): run('apt-get install git') run('apt-get install mercurial') run('apt-get install golang') def set_GOPATH(): run('echo "export GOPATH=/usr/li

这是完整的脚本

from fabric.api import run, env, execute

env.hosts = ['root@host',]

def install():
    run('apt-get install git')
    run('apt-get install mercurial')
    run('apt-get install golang')

def set_GOPATH():
    run('echo "export GOPATH=/usr/lib/gopath" > /root/.bash_profile')
    run('export GOPATH=/usr/lib/gopath')

def go_get():
    run('go get "code.google.com/p/log4go"')

def set_ulimit():
    run('ulimit -n 32000')

def get_code():
    run('git clone https://me@bitbucket.org/me/rr.git')

def compile():
    run('cd rr')
    run('go build -o rr example.go')

def run():    
    run('screen -S rr')
    run('./rr')

def doit():
    install()
    setGOPATH()
    go_get()
    set_ulimit()
    get_code()
    compile()
    run()
法布·多伊特

返回以下错误:

run('apt-get install git')
TypeError: run() takes no arguments (1 given)
运行时也会发生相同的错误

工厂安装


如果将安装函数复制到单独的文件中,而没有其他函数,则可以正常工作。我不明白是什么导致了这种行为

您拥有自己的覆盖结构的
运行

def run():    
    run('screen -S rr')
    run('./rr')

给它起个不同的名字,一切都会好起来:)

@Moonwalker,+1代表golang)