SunilProgramer / stimfit

Automatically exported from code.google.com/p/stimfit
GNU General Public License v2.0
0 stars 0 forks source link

Stimfit will not work with IPython versions 0.11 or above #21

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Because IPython dropped wx support on versions 0.11 and above, Stimfit will not 
build with IPython's backed. Check with your IPython version with ipython 
--version

According to Fernando Perez, there are a few options:

1. To embed a proper IPython kernel into your WX app, as shown here:

https://github.com/ipython/ipython/blob/master/docs/examples/lib/ipkernel_wxapp.
py
https://github.com/ipython/ipython/blob/master/docs/examples/lib/internal_ipkern
el.py

Those two files show how you can activate an IPython kernel in your WX
application. At that point, the kernel is ready to listen to commands
from a Qt console, and you can attach one of the existing Qt consoles,
or launch one yourself (also shown there).

The downside of this is that it requires that users have Qt as well.
That may not be an issue for some projects, but a showstopper for
others. 

2. Help us by updating the IPython WX code to the new 0.11 interfaces.
 We'd love to have a working WX client alongside the Qt one, so if
anyone with WX expertise is willing to help out, that would be great.

3. If psychopy is distributed mostly as a 'bundled app' instead of
relying on system versions of packages, then there's always the brute
force solution of just bundling ipython 0.10.2 alongside.  Not pretty,
but it gets the job done...

Original issue reported on code.google.com by SJM.Guz...@gmail.com on 25 Jun 2012 at 12:46

GoogleCodeExporter commented 9 years ago
Just updating this, as it got posted in a response to our user survey:

1. remains possible, though it's obviously not ideal for a Wx application.

1a. You could embed an IPython kernel into your application, and then have a Wx 
window with a straightforward terminal emulator widget which runs IPython 
'console'. That's a terminal mode which talks to a remote kernel, whereas our 
normal kernel runs in a single process. I appreciate that's a bit ugly, but it 
should work.

2. would be a lot of work to do well. We have quite a lot of code for the Qt 
console, and much of it would have to be reimplemented to support a Wx 
frontend. I think the Qt console is already less used than the notebook or the 
terminal, so I don't think we have much appetite for building another console 
on a different toolkit.

3. looks less and less ideal. IPython 0.10 is really old now, and we don't want 
to encourage anyone to use it.

Original comment by tak...@gmail.com on 26 Aug 2013 at 8:15

GoogleCodeExporter commented 9 years ago
Hey takowl!

Really appreciate your comments here!. Thanks a lot!

Jose

Original comment by SJM.Guz...@gmail.com on 26 Aug 2013 at 8:28

GoogleCodeExporter commented 9 years ago
Option 4: Port Stimfit to Qt :-)
Only half-kidding here, I'm a bit pessimistic about wxPython's future:
* wxPython still has no official Python 3 support, and "Project Phoenix" is far 
away from a release
* wxPython 2.9.5 hasn't been released yet, breaking stimfit for MacPorts
* wxWidgets 3.0 is 4 years (!) behind the original roadmap: 
http://web.archive.org/web/20090124221715/http://trac.wxwidgets.org/wiki/Roadmap
* Even wxPython's lead developer seems to have an affinity for Qt/PySide: 
http://wxpython.org/blog/2013/03/27/new-horizons/

Original comment by christoph.schmidthieber@gmail.com on 26 Aug 2013 at 8:45

GoogleCodeExporter commented 9 years ago
I agree that Wx doesn't seem to be going anywhere fast - although that could be 
a good thing for a GUI framework. But I get the impression that there's enough 
stuff running on it that it will be kept working for the foreseeable future.

Original comment by tak...@gmail.com on 26 Aug 2013 at 9:19