restart_subprocess is a method of self, the pyshell.InteractiveInterpreter instance. The latter does not have an interp attribute redundantly referring to itself. (The PyShell instance does have an interp attribute, referring to the InteractiveInterpreter instance.)
def runcode(self, code):
"Override base class method"
if self.tkconsole.executing:
- self.interp.restart_subprocess()
+ self.restart_subprocess()
self.checklinecache()
debugger = self.debugger
try: