[IPython-dev] Anyone done anything like this before?

Thomas Kluyver takowl at gmail.com
Tue Oct 2 17:00:32 EDT 2012


On 2 October 2012 21:45, David Quigley <dpquigl at davequigley.com> wrote:
> I ran into that problem before. If you don't want to wait for it to
> terminate you can use the IO pipes directly instead. Select on the STDIN
> or STDOUT that you get from the popen call and use those to communicate
> with the process.

The subprocess docs caution against using stdin/stdout directly, but
the reasoning is something to do with buffers and deadlocks that I
don't understand. If you're happy with it, go ahead.

I'm not quite sure what you're asking about IPython. The basic
terminal IPython doesn't have an event loop: it just calls the
raw_input() function to get user commands, i.e. it's blocking. The
two-process model (for the Qt console, the notebook, etc.), uses the
event loop in pyzmq, which is based on the Tornado event loop. Details
here:
http://zeromq.github.com/pyzmq/eventloop.html

Thomas



More information about the IPython-dev mailing list