python fabric赢得';你不允许我把输出量调到更低吗?
我是第一次设置fabric,但在从fabric到less的输出管道中遇到了问题。例如,如果我运行:python fabric赢得';你不允许我把输出量调到更低吗?,python,fabric,Python,Fabric,我是第一次设置fabric,但在从fabric到less的输出管道中遇到了问题。例如,如果我运行: fabric deploy |less (其中部署是我的部署功能) 我从fabric返回以下错误: IOError: [Errno 22] Invalid argument 这来自远程主机上的run()命令 如果我将pty=False添加到run()参数中,它就会工作。然而,这意味着每个run命令,我都需要添加这个参数。更不用说,我相信它会对提示和输入数据产生影响(显然,对于那些情况,我不会减
fabric deploy |less
(其中部署是我的部署功能)
我从fabric返回以下错误:
IOError: [Errno 22] Invalid argument
这来自远程主机上的run()
命令
如果我将pty=False
添加到run()
参数中,它就会工作。然而,这意味着每个run命令,我都需要添加这个参数。更不用说,我相信它会对提示和输入数据产生影响(显然,对于那些情况,我不会减少使用管道)
我怎样才能解决这个问题?我是否应该对所有内容都执行
tty=false
?仅供将来参考,我通过对operations.py应用补丁解决了这个问题,如下所示:
否则,再现此问题的代码如下所示:
from __future__ import with_statement
from fabric.api import *
from fabric.contrib.console import confirm
import re
import sys
def test():
run('ls')
如果您执行以下命令,则会出现问题:
fab-H myhost测试|较少
希望这对某人有帮助。。。我仍然不明白为什么这么老的一个bug还没有在最新版本的fabric中修复
-Dustin尝试更新以显示实际代码。