noob questions
Robert Kern
robert.kern at gmail.com
Tue Apr 24 12:49:08 EDT 2007
T.Crane wrote:
> I'm new to python and I seem to get different behavior depending on...
> well who knows what. Here's my question concerning importation of
> packages/modules.
>
> I want to use scipy. So at the prompt (using iPython, installed with
> Enthought edition on Windows XP) I type:
>
> ln [1]: from scipy import *
>
> Now, I know integrate is a package this is in scipy. I want to use
> the ode class/module that's in integrate. So I type:
>
> ln [2]: from integrate import *
>
> And I'm told
>
> ImportError: No module named integrate
>
> In order to get access to the ode class, I end up having to type:
>
> ln [3]: from scipy.integrate import *
>
> Then it works. Will someone explain to me what I'm misunderstanding?
> I don't understand why after importing everything in scipy (which
> includes integrate), I was told there was no module named integrate.
> What gives? I there are sevarl functions (modules) that I want to use
> that are a few levels down from the root package, what's the most
> economical method of importing them?
Everything Steve Holden said is correct. I'll just add that we do have a
function that will load all of the subpackages.
import scipy
scipy.pkgload()
from scipy import *
We don't load all of the subpackages by default because we have a lot of
extension modules that link to largish libraries. Loading all of them all of the
time takes substantial amounts of time.
Also, I don't recommend using either pkgload or "from scipy import *" in code.
However, from the interactive prompt, feel free. That is precisely what these
features were designed for.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list