Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python fabric赢得';你不允许我把输出量调到更低吗?_Python_Fabric - Fatal编程技术网

python fabric赢得';你不允许我把输出量调到更低吗?

python fabric赢得';你不允许我把输出量调到更低吗?,python,fabric,Python,Fabric,我是第一次设置fabric,但在从fabric到less的输出管道中遇到了问题。例如,如果我运行: fabric deploy |less (其中部署是我的部署功能) 我从fabric返回以下错误: IOError: [Errno 22] Invalid argument 这来自远程主机上的run()命令 如果我将pty=False添加到run()参数中,它就会工作。然而,这意味着每个run命令,我都需要添加这个参数。更不用说,我相信它会对提示和输入数据产生影响(显然,对于那些情况,我不会减

我是第一次设置fabric,但在从fabric到less的输出管道中遇到了问题。例如,如果我运行:

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

尝试更新以显示实际代码。