the python shell window is already executing a command
Terry Reedy
tjreedy at udel.edu
Wed Sep 17 23:50:56 EDT 2014
More information about the Python-list mailing list
Wed Sep 17 23:50:56 EDT 2014
- Previous message (by thread): the python shell window is already executing a command
- Next message (by thread): the python shell window is already executing a command
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 9/17/2014 9:34 PM, Seymore4Head wrote: > On Wed, 17 Sep 2014 18:56:47 -0400, Terry Reedy <tjreedy at udel.edu> >> A little digging with Idle's grep (Find in Files) shows that the message >> is produced by this code in idlelib/PyShell.py, about 825. >> >> def display_executing_dialog(self): >> tkMessageBox.showerror( >> "Already executing", >> "The Python Shell window is already executing a command; " >> "please wait until it is finished.", >> master=self.tkconsole.text) >> >> This function is only called here (about line 735) >> def runcommand(self, code): >> "Run the code without invoking the debugger" >> # The code better not raise an exception! >> if self.tkconsole.executing: >> self.display_executing_dialog() >> <else run idle code in user process output view user> >> >> How is this run? Run-Module F5 invokes >> ScriptBinding.run_module_event(116) and thence _run_module_event (129). >> This methods includes this. >> if PyShell.use_subprocess: >> interp.restart_subprocess(with_cwd=False) >> >> restart_subprocess includes these lines (starting at 470): >> # Kill subprocess, spawn a new one, accept connection. >> self.rpcclt.close() >> self.terminate_subprocess() >> console = self.tkconsole >> ... >> console.executing = False # == self.tkconsole >> ... >> self.transfer_path(with_cwd=with_cwd) >> >> transfer_path calls runcommand but only after tkconsole.executing has >> been set to False. But this only happens if PyShell.use_subprocess is >> True, which it normally is, but not if one starts Idle with the -n option. >> >> After conditionally calling interp.restart_subprocess, _run_module_event >> directly calls interp.runcommand, which can fail when running with -n. >> Are you? This is the only way I know to get the error message. Is so, >> the second way to not get the error message is to not use -n and run >> normally. > > Sorry. I don't speak python yet. Quite a few of the above terms are > new to me. > > It may be that was trying to run the program again before the current > one was finished. In the past I was getting the error when I was > (almost) sure the program had finished. I will be more careful in the > future, but I will also keep an eye out for the problem to repeat. > I just tried to run the above program again and gave it more time to > finish and I did not get the error, so it could well be I was jumping > the gun. My question was "How do you start Idle?" (I can make a difference.) -- Terry Jan Reedy
- Previous message (by thread): the python shell window is already executing a command
- Next message (by thread): the python shell window is already executing a command
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list