You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I run "python -m idlelib.idle -sc [command] from the command line, IDLE runs the startup file, but then pops up an error message saying "the Python Shell window is already executing a command;please wait until it is finished." When the error window is closed, the command executes, unless the main Python Shell has already been closed, in which case a traceback occurs:
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_codeexec code in run_globals
File "C:\Python27\lib\idlelib\idle.py", line 11, in <module>
idlelib.PyShell.main()
File "C:\Python27\lib\idlelib\PyShell.py", line 1602, in main
shell.interp.execsource(cmd)
AttributeError: 'NoneType' object has no attribute 'execsource'
I confirmed the bug on Win10 with 3.5 and 3.6. "python -m idlelibl -s" prints a prompt*, runs the file and prints any output, and prints a prompt. It then accepts user input. When "-c command" is added, it should accept that as user input (and perhaps display it on the input line). But I get the same error box. When clicked away, 'command' executes and a third prompt is displayed.
*Another bug. The startup file should run first, before a prompt, just as it does in python, and just as with files run with F5. It would not hurt if [Running <path>] were printed, but not a prompt. Prompts should mean 'ready to accept input'. Ditto for -c command, unless IDLE is changed to display the command after the prompt as if typed in.
Warning comes from ModifiedInterpreter (MI).dispaly_executing_dialog, which is called in MI.runcommand if 'self.tkconsole.executing'. MI.runcommand is used for internal startup code and for '-', '-c', and '-r' on the command line, but not for user '>>> ' and editor code.
I confirmed that '-s' + '-' or '-r' give the same warning. Hence the title change.
MI.tkconsole is the PyShell (PS) window instance. PS.executing is set/reset in PS.beginexecuting, PS.endexecuting. The latter should apparently be called someplace it is not now.
terryjreedy
changed the title
IDLE produces error message when run with both -s and -c.
IDLE -s and (-, -c command, or -r file) produces error message
Aug 24, 2016
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: