What the application does: runs a subprocess and displays the stdout in real-time to a Tkinter textbox widget.
This works perfectly when I run the application from PyCharm.
When I run the application from terminal ./application.py
it doesn't display in real-time, but instead will display it all after the process has finished.
Some details:
I have a subprocess running (the subprocess prints out "SPAM" every 1 second for 10 seconds):
process = subprocess.Popen(<some file path>, stdout=subprocess.PIPE, universal_newlines=True)
I am printing the stdout to a Tkinter textbox widget:
for stdout_line in iter(process.stdout.readline, ""):
self.app.pm_textbox.see(tk.END)
self.app.pm_textbox.insert(tk.INSERT, stdout_line)
So my question is what could possibly cause running from terminal and PyCharm to display stdout data differently?