使用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 ...