将Fabric env.hosts sting作为变量传递在函数中不起作用.
demo.py
#!/usr/bin/env python
from fabric.api import env, run
def deploy(hosts, command):
print hosts
env.hosts = hosts
run(command)
Run Code Online (Sandbox Code Playgroud)
main.py
#!/usr/bin/env python
from demo import deploy
hosts = ['localhost']
command = 'hostname'
deploy(hosts, command)
Run Code Online (Sandbox Code Playgroud)
python main.py
['localhost']
No hosts found. Please specify (single) host string for connection:
Run Code Online (Sandbox Code Playgroud)
但是env.host_string有效!
demo.py
#!/usr/bin/env python
from fabric.api import env, run
def deploy(host, command):
print host
env.host_string = host
run(command)
Run Code Online (Sandbox Code Playgroud)
main.py
#!/usr/bin/env python
from demo import deploy
host = 'localhost'
command = 'hostname'
deploy(host, …Run Code Online (Sandbox Code Playgroud)