Manti54, ну тогда удачи.
По отдельности-то просто, запускаешь интерпретатор питона через subprocess.Popen(), и общаешься с ним время от времени. Для простых случаев - опрашиваешь процесс, когда пользователь отправил очередную команду, если нужно что-то сложнее - дополнительно опрашиваешь процесс 1-2 раза в секунду, по таймеру.
Из одного поля ввода берёшь входные данные, в другой кладёшь то, что было прочитано.