[SciPy-user] shell for scipy

bryan cole scipy-user@scipy.net
03 Feb 2003 10:40:26 +0000


On Fri, 2003-01-31 at 23:20, eric jones wrote:
> > The problem is at re-running the
> > python-process each time to test things out is slow because Scipy
> takes
> > so long to load each time (OK I'm impatient). 
> 
> Agreed.  It would be cool if there was some way of doing on-demand
> loading of the sub-modules without explicitly requiring people to import
> them.   I guess this would have to be a python level feature instead of
> doing it in scipy.  If this were possible, it would ameliorate the
> problem markedly.  The effort involved (or even if it is possible --
> should be) is not clear to me.

I have found that ipython (www-hep.colorado.edu/~fperez/ipython/) goes
along way to provide this functionality.

With the ipython @edit & @run commands you can edit/run blocks of code.
Since the python interpreter remains running between executions, slow
module imports only occur once. This works great for SciPy; you can do
multiple edits and re-executions of code real fast. Plotting with
plt.plot also works this way, provided you use Gui_Thread. 

I ran into problems trying to call plt.plot from the main thread (with
my own wxApp() object and a few extra GUI items); once you destroy the
main plot-window, you can only re-create it in a new process (forcing
you to kill ipython and start over ... lucky for the ipython logging
facility...)

All ipython lacks is a pretty user-interface (yes, a worksheet would be
nice) with syntax-highlighting. This is important for Windows users who
don't commonly have a decent terminal/command-line (installing cygwin is
too much hassle for most windows-users). Somehow integrating ipython and
pycrust would be my ideal....

Bryan

> 
> eric
> 
> 
> _______________________________________________
> SciPy-user mailing list
> SciPy-user@scipy.net
> http://www.scipy.net/mailman/listinfo/scipy-user
-- 
Bryan Cole
Teraview Ltd., 302-304 Cambridge Science Park, Milton Road, Cambridge CB4 0WG, United Kingdom.
tel: +44 (1223) 435380 / 435386 (direct-dial) fax: +44 (1223) 435382