Python点子:强制进度条

时间:2018-08-01 23:12:24

标签: python python-3.x pip pipe tty

使用pip下载Python软件包时,默认情况下会显示进度条。使用--progress-bar,我可以选择不同的样式,也可以完全关闭进度条。如果通过管道传送pip命令的输出,此进度条将自动被禁用。例如

python3 -m pip download --no-cache-dir scipy==1.1.0            # Progress bar
python3 -m pip download --no-cache-dir scipy==1.1.0 | tee log  # No progress bar

(如果您同时运行两个命令,请记住删除两者之间的下载文件)。我确定pip会禁用进度条,因为它会检测到输出不会发送到TTY。我寻求一种方法来忽略这种点子的聪明之处,并迫使它无论如何都要写出进度条。天真的猜测是提供--progress-bar参数,例如

python3 -m pip download --no-cache-dir --progress-bar=on scipy==1.1.0 | tee log

但是,禁用进度条的非TTY设置则对此无效。

注意:wget也有类似的故事。在这里,可以使用

强制进度条
wget --progress=bar:force ...

0 个答案:

没有答案