如何在Windows 7上获取fabric执行的输出(fab.exe)?
我想用Fabric这个工具来部署项目,但在学习教程的时候遇到了一些问题。我觉得我已经正确安装了它(我用的是easy-install)。
我在fabfile.py里定义了一个示例函数:
def hello():
print("Hello world!")
然后我打开一个命令窗口,运行
C:\dev>fab hello
结果又打开了一个新的命令窗口,但几乎立刻就关闭了,我根本不知道里面说了什么。
我试着用/K选项打开命令窗口
c:\dev>cmd /K "fab hello"
还尝试把输出重定向到一个文件里,但那个文件是空的。
c:\dev>fab hello >> output.txt
如果有任何提示、建议或评论,我都非常感激。
1 个回答
2
DiggyF的建议对我控制cmd命令行非常有效。
fab hello > output.txt 2>&1
现在我可以把命令行执行的结果直接保存到一个文件里。
输出结果是:ImportError: No module named win32api。这让我花了很长时间去查找问题,结果这个问题应该另开一个问题来讨论。
在Windows 7上让fabric运行的解决办法是:
使用命令: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?")