docs.fabfile.org / ы / 1.4.0 / использование / library.html
"Как упоминается в этом разделе, ключ просто в том, что run, sudo и другие
при подключении операции выглядят только в одном месте: env.host_string. Все
другие механизмы настройки хостов интерпретируются с помощью потрясающего инструмента
когда он запускается, и не имеет значения при работе в качестве библиотеки. "
Я смотрел на ту же проблему, когда нашел это. Кроме того, при просмотре я вспоминаю упоминание о том, что при использовании в fabfile изменения env не должны совпадать с def, sudo Кто знает, применяется ли это по-прежнему при использовании в режиме «библиотеки».
РЕДАКТИРОВАТЬ: Вот пример указанной реализации
from fabric.api import env, run
def main():
run("uname -a")
def setup():
env.host_string = "me@remoteHost"
if __name__ == '__main__':
setup()
main()