[Idle-dev] Idle does not open on mac
Terry Reedy
tjreedy at udel.edu
Fri Aug 23 22:41:54 CEST 2013
On 8/23/2013 2:13 PM, Guido van Rossum wrote:
> I would recommend trying to use the subprocess module.
Rev 71746, 2011-8-3, switched subprocess startup from os.spawnv to
subprocess for 3.2 +, but not for 2.7 ;-(.
> I don't believe
> it existed when I first designed this part of IDLE.
The 2.x startup line was last revised 2003-8-14 and must date from
earlier. Subprocess arrived in 2.4, 2004 Nov 30.
> However I would not
> use communicate(), which is meant as a simplified API for sending one
> input string and waiting for the subprocess to exit.
Or at least get whatever output is ready.
> There is a low-level API to let you send multiple strings
> and receive output back as it becomes available.
Right, Popen.stdin/out/err are the 'file' objects.
os.popen3 also makes these available, but was unix, windows only. I
presume that excludes classic Macs. Is that why sockets were used instead?
Switching from sockets, which do not always connect, to pipes
established as part of the popen call should also make it more feasible
to always run user code in a subprocess and eliminate the -n option.
http://bugs.python.org/issue16123
and thereby simplify some sections of code. Amaury suggested the switch
on that issue.
> (You may have to create threads to read stdout and stderr.)
I hope not ;-).
--
Terry Jan Reedy
More information about the IDLE-dev
mailing list