Как мне правильно установить `env.hosts` в функции в моей Python Fabric` fabfile.py`?

Когда я запустите этот fabfile.py ...

from fabric.api import env, run, local, cd

def setenv(foo):
  env.hosts = ['myhost']

def mycmd(foo):
  setenv(foo)
  print(env.hosts)
  run('ls')

с помощью этой команды fab mycmd: bar . Я получаю этот вывод ...

['myhost']
No hosts found. Please specify (single) host string for connection:

Что, что ?! Я не понимаю? Я установил env.hosts , и кажется, что он действителен «внутри» функции mycmd , но по какой-то причине команда run не знает про хосты я указал.

Цвет меня смутил. Любая помощь будет оценена по достоинству!

8
задан Chris W. 31 January 2012 в 06:30
поделиться