Automatic import PEP
Robert Kern
robert.kern at gmail.com
Sun Sep 24 19:19:43 EDT 2006
Saizan wrote:
> BTW what would the benefit of the form "lazily import A, B"? If you
> name the modules why not import them directly? Maybe you are not sure
> you would need them, but I don't think that the overhead of importing
> them should matter..
It's primarily useful for large packages. scipy used to have a mechanism of
postponed imports because loading all of the extension modules in all of scipy's
subpackages takes a fair bit of time. It especially hurts when you only wanted
one. However, it is quite convenient to simply write "import scipy;
scipy.linalg.eig(matrix)".
Nonetheless, we removed that feature and stopped importing all of the
subpackages because the postponed import mechanism interfered with a number of
other things (namely, getting docstrings through IPython's ? operator and making
py2exe apps that use scipy). Having a third-party library do the same thing
makes interactive use nice without burdening scipy with the problems.
So, "lazily import A" would make sense if A was a large package where all of the
goodies are buried in A.C.D and A.E, A.X, A.Z, etc. You *do* know that you need
A, but you may not know what you need underneath it.
--
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