Wie man pyinvoke run() verzögerte Ausgabe behebt

Problem

Sie verwenden Invoke aka pyinvoke, um Shell-Befehle auszuführen, aber die Ausgabe ist verzögert: Die gesamte Ausgabe wird schließlich gedruckt, aber nicht genau zu dem Zeitpunkt, zu dem sie vom ausgeführten Befehl erzeugt wird.

Beispiel:

invoke_run_example.py
from invoke import run

run("python myscript.py")

Lösung

Verwenden Sie pty=True:

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

Dies wird die Ausgabe des python myscript.py in Echtzeit streamen.


Check out similar posts by category: Python