如何修复 pyinvoke run() 延迟输出

问题

你正在使用 Invoke 即 pyinvoke 运行 shell 命令,但输出有延迟:所有输出最终都会打印,但不是在命令生成输出时立即打印。

示例:

invoke_run_example.py
from invoke import run

run("python myscript.py")

解决方案

使用 pty=True

invoke_run_fixed.py
run("python myscript.py", pty=True)

这将实时流式传输 python myscript.py 的输出。


Check out similar posts by category: Python