Как получить результат выполнения фабрики (fab.exe) в Windows 7? - PullRequest
1 голос
/ 24 января 2011

Я заинтересован в использовании Fabric в качестве инструмента развертывания, и у меня возникли проблемы с его изучением.Я считаю, что он установлен правильно (я использовал easy-install)

Я определил пример функции в fabfile.py:

def hello():
    print("Hello world!")

Затем я открываю командное окно и запускаю

C:\dev>fab hello

Второе окно оболочки cmd открывается, а затем закрывается снова почти мгновенно, и я понятия не имею, что оно говорит.

Я попытался открыть окно командной строки с параметром / K

c:\dev>cmd /K "fab hello"

И я попытался перенаправить вывод в файл, но файл возвращается пустым.

c:\dev>fab hello >> output.txt

Любые советы, предложения или комментарии приветствуются.

1 Ответ

2 голосов
/ 24 января 2011

Предложение DiggyF отлично работает для укрощения оболочки cmd

fab hello > output.txt 2>&1

Теперь я получаю вывод мгновенного выполнения оболочки, переданный в файл.

Вывод: ImportError: Модуль не названwin32api.Это привело меня к гораздо более длительной погоне за гусей, которую нужно поставить в другом вопросе.

Решение для запуска работающей в Windows 7 фабрики:

easy_install fabric

установка вручнуюpycrypto-2.0.1.win-amd64-py2.6.exe из: http://www.voidspace.org.uk/python/modules.shtml

установить вручную pywin32-214.win-amd64-py2.6.exe из: http://sourceforge.net/projects/pywin32/files/

Чтобы предотвратить закрытие оболочки сразу после запуска, вы можете использовать:

from fabric.contrib.console import confirm
def hello():
    ...
    confirm("Would you like to exit?")
...