¿Cómo puedo crear un pequeño Python Shell IDLE-like en Tkinter?

Estoy tratando de hacer algo controlado por una interfaz gráfica de usuario de Python Shell. Lo único es que no sé cómo hacer todo eso de entrada / salida. Solo quiero poder escribir una entrada, ejecutar el comando python y dar la salida del comando python. Sé que IDLE está hecho en Tkinter,...