[IPython-user] Closing an embedded IPython Shell.
Brian Granger
ellisonbg.net@gmail....
Wed Jul 29 12:38:25 CDT 2009
Dennis,
No. It's wxPython. wxPython can be run in any thread you want as long as
> communication with the GUI methods occur from the same thread that the main
> loop is running. We don't use the shell to call GUI methods. We use the
> shell to call methods on a device to tune performance and settings (the
> device is thead safe.)
>
OK, this clarifies. I thought wxPython *has* to be run in the main thread,
but I guess not.
>
>
>
>> * Are you uses IPython's threaded shells to integrate ipython with the
>> GUI? If not, can you better describe how the two are integrated.
>>
>
> No. I specifically don't want -wthread because I don't want calls in the
> shell to block the GUI. We have other threads doing heavy USB IO in the GUI
> and it needs to run without the commands in the shell blocking it.
>
> Example, I specifically want to be able to do something like this in the
> shell:
>
> while True: pass
>
> Then I want to be able to have the GUI run without being blocked. When I
> see that my command might not be returning, ctrl-c the command in the shell,
> and have the GUI continue to run as if it didn't know what is going on. I
> see why many people want commands in the shell run on the GUI thread and I
> know how IPython uses uses the hijacked GUI loops to execute the shell
> commands on the GUI thread but that doesn't suit my needs.
>
Definitely, you can't use the -wthread options.
* Sometime very soon (like next week) we will be merging some new code into
the ipython trunk that will have a much better way of doing GUI integration
(it doesn't require threads). While I haven't tested it with embedding, it
should make these things much simpler. Note: this new stuff won't be in
the upcoming 0.10 release.
>
> There may be something that helps but really the only issue I'm having is
> when I close the app, my shell doesn't drop back to the prompt until I press
> Enter. I don't think it's much related to the GUI thread situation.
>
The new stuff won't help you at all because the GUI and shell run in the
same thread.
You problem might not be related to the GUI thread, but I do think it might
be related to the GUI/shell interaction. I say this because the code I sent
you works just fine when there is no GUI around. Is there any way you can
debug this more to see where the shell is waiting on stdin?
Sorry I can't be of more help.
Cheers,
Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/ipython-user/attachments/20090729/33d3740f/attachment.html
More information about the IPython-user
mailing list