[Idle-dev] SUBPROCESS STARTUP ERROR
Terry Reedy
tjreedy at udel.edu
Tue Feb 4 14:33:09 EST 2020
On 2/3/2020 9:09 AM, Rehmat Mulla via IDLE-dev wrote:
> We are getting this issue when using Python Shell IDLE
[Attached image shows '2013'.]
IDLE has gotten a few hundred improvements since 2013. I strongly
recommend using a current version if possible.
Anyway, the current version of the error message depicted says "See the
'Startup failure' section of the IDLE doc,
https://docs.python.org/3/library/idle.html#startup-failure
That contains our best current advice
"Startup failure
IDLE uses a socket to communicate between the IDLE GUI process and the
user code execution process. A connection must be established whenever
the Shell starts or restarts. (The latter is indicated by a divider
line that says ‘RESTART’). If the user process fails to connect to the
GUI process, it displays a Tk error box with a ‘cannot connect’ message
that directs the user here. It then exits.
A common cause of failure is a user-written file with the same name as a
standard library module, such as random.py and tkinter.py. When such a
file is located in the same directory as a file that is about to be run,
IDLE cannot import the stdlib file. The current fix is to rename the
user file.
Though less common than in the past, an antivirus or firewall program
may stop the connection. If the program cannot be taught to allow the
connection, then it must be turned off for IDLE to work. It is safe to
allow this internal connection because no data is visible on external
ports. A similar problem is a network mis-configuration that blocks
connections.
Python installation issues occasionally stop IDLE: multiple versions can
clash, or a single installation might need admin access. If one undo
the clash, or cannot or does not want to run as admin, it might be
easiest to completely remove Python and start over.
A zombie pythonw.exe process could be a problem. On Windows, use Task
Manager to detect and stop one. Sometimes a restart initiated by a
program crash or Keyboard Interrupt (control-C) may fail to connect.
Dismissing the error box or Restart Shell on the Shell menu may fix a
temporary problem.
When IDLE first starts, it attempts to read user configuration files in
~/.idlerc/ (~ is one’s home directory). If there is a problem, an error
message should be displayed. Leaving aside random disk glitches, this
can be prevented by never editing the files by hand, using the
configuration dialog, under Options, instead Options. Once it happens,
the solution may be to delete one or more of the configuration files.
If IDLE quits with no message, and it was not started from a console,
try starting from a console (python -m idlelib) and see if a message
appears."
More information about the IDLE-dev
mailing list