[IPython-user] scipy profile

Fernando Perez fperez at colorado.edu
Mon May 19 16:53:08 CDT 2003


Arnd Baecker wrote:
> Hi,
> 
> I encountered the following when using
> 'ipython -p scipy':
> 
> 
> 1.) help(scipy):
> 
> In [1]: help(scipy)
> ---------------------------------------------------------------------------
> NameError                                 Traceback (most recent call
> last)
> 
> ?
> 
> NameError: name 'scipy' is not defined
> 
> 
> This can be cured by adding (as in ipython-numeric)
> the following two lines to ipython-scipy
> # Load scipy by itself so that 'help scipy' works
> import_mod scipy
> 
> 2.) Now, scipy also provides scipy.info
> Doing with the above profile an `info(scipy)` gives
> In [2]: info(scipy)
> In [3]:
> 
> However, doing the following in a normal ipython
> session (ie no -p options) gives what I expect
> 
> In [1]: import scipy
> scipIn [2]: scipy.info(scipy)
> 
> SciPy --- A scientific computing package for Python
> 
> Available subpackages
> ======================
> cow         --- Cluster of Workstations
> [...]

Confirmed, and utterly bizarre.  I have _no idea_ how this can even happen. 
I'll have to look into the code for info.  However, there's a good chance that 
this is caused by the overly baroque initialization mechanism which ipython 
currently has.  I wrote that early on, and it's one of the first things I 
intend to yank out as soon as I start cleaning up the ipython internals.

In the meantime, the best I can suggest is using ipython's ?, sorry.  The 
initialization code as currently written is best fixed by simply removing it. 
  It's a relatively big job, but in the end the payoff will be big:

- less code in ipython overall -> easier maintainability

- no special-syntax ipythonrc files -> ipython will be customized using plain 
python files.  Much easier for users, and also for me (all that special syntax 
handling code will go away).

- namespace handling will be simplified -> problems like this will hopefully 
just go away.  The current setup is so tricky to manage it's not even funny.

So unfortunaetly for the time being, this wart will stay.  Hopefully now with 
0.4.0 out (coming soon, a day at most) I'll have a bit of time to start the 
cleanup.

Cheers,

f




More information about the IPython-user mailing list