[IPython-user] Ipython and Jython 2.50b

Fernando Perez fperez.net@gmail....
Wed Nov 12 13:56:54 CST 2008


On Wed, Nov 12, 2008 at 11:49 AM, Ville M. Vainio <vivainio@gmail.com> wrote:
> On Wed, Nov 12, 2008 at 9:27 PM, Phyo Arkar <phyo.arkarlwin@gmail.com> wrote:
>
>> ImportError: No module named signal
>>
>> Is there any work around or , how can i use iptyhon with jython?
>
> signal is easy (because it's not really needed). However, readline is
> a more probably deal breaker, but not necessarily:
>
> http://wiki.python.org/jython/ReadlineSetup

A few years ago some of the jython guys in Boulder tried to get this
to work at an ipython sprint, but at the time it was a royal nightmare
and they didn't really get very far.  But jython has made a LOT of
progress since, so it would be great if you could keep us posted on
your progress with this.

Once you get readline working, you may need to work aroun
sys._getframe, which I think is also missing from Jython (I could be
wrong) and is used in a lot of places:

bic128[ipython]> grin _getframe
./IPython/external/Itpl.py:
  214 :         frame = sys._getframe(1)
./IPython/background_jobs.py:
  160 :                 frame = sys._getframe(1)
./IPython/Extensions/ipy_profile_sh.py:
  192 :         getsig = lambda fno: sys._getframe(fno+1).f_globals \
  194 :         getlvars = lambda fno: sys._getframe(fno+1).f_locals
./IPython/kernel/contexts.py:
  140 :         src = self.findsource(sys._getframe(1))
./IPython/kernel/multiengineclient.py:
  326 :         f = sys._getframe(1)
./IPython/Magic.py:
  333 :         caller = sys._getframe(1).f_code.co_name.replace('magic_','')
./IPython/dtutils.py:
   44 :         f = sys._getframe(1)
./IPython/ipapi.py:
  375 :             cf = sys._getframe(1)
./IPython/iplib.py:
  623 :                           sys._getframe(depth+1).f_locals # locals
 1622 :             call_frame = sys._getframe(stack_depth).f_back
./IPython/Itpl.py:
  228 :         frame = sys._getframe(1)
./IPython/genutils.py:
  182 :     cf = sys._getframe(1)
 1369 :         frame = sys._getframe(1)
 1947 :         call_frame = sys._getframe().f_back
./IPython/tools/utils.py:
   57 :     callerNS = sys._getframe(depth+1).f_locals
   71 :     callerNS = sys._getframe(2).f_locals
./IPython/Debugger.py:
  143 :         self.debugger.set_trace(sys._getframe().f_back)
./docs/attic/ChangeLog:
 3834 :         * IPython/Itpl.py (Itpl.__str__): Use a _getframe() call instead
./docs/examples/kernel/HISTORY.gz:
  826 : - A new function, sys._getframe(), returns the stack frame pointer of
bic128[ipython]>


But having ipython working on jython would definitely be great, so
keep us posted.

Cheers,

f


More information about the IPython-user mailing list