Tkinter подпроцесс блокировки GUI и не возвращать stdout в текст

Я уже некоторое время сражаюсь с Tkinter и исчерпал большинство ресурсов, которые у меня есть для ссылки на это. Здесь я нашел пару подобных тем, но никто из них не привел меня туда, где мне нужно быть.

У меня длинный python script, и я надеялся создать gui для взаимодействия с ним. В настоящее время я пытаюсь передать данные из CLI обратно в графический интерфейс, но, похоже, не может получить никаких данных и блокировок GUI при вызове подпроцесса.

Я новичок в python и переполнении стека, поэтому прошу прощения, если я пропустил что-то глупое или не задал правильный вопрос.

import Tkinter
from Tkinter import *
import subprocess
import sys


top = Tkinter.Tk()

def startScript():
   root = Tk()

   cli = subprocess.Popen(['python.exe', 'aScript.py'], shell=False, stdout=subprocess.PIPE)
   root.update()

   while True:
       line = cli.stdout.readline()
       if line == '' and process.poll() is not None:
           break
       print line
       t.insert(tk.END, line)


B = Tkinter.Button(top, text ="Start Script", command = startScript)

B.pack()
top.mainloop()