[SciPy-dev] tests, relative import: what's best ?
Robert Kern
robert.kern@gmail....
Mon Nov 26 04:13:36 CST 2007
David Cournapeau wrote:
> Hi,
>
> I have a question regarding tests and import in numpy/scipy in
> general. When implementing tests, the package to be tested has to be
> imported, and there are two possibilities on how to do it (both are used
> in scipy). Taking an hypothetical package foo in scipy as an example:
>
> 1 : using set_package_path /restore_path facilities of
> numpy.testing, and do a "relative" import
>
> set_package_path()
> from foo import bar
> restore_path()
>
> This means that you can test the package foo without building the whole
> scipy source tree. This is for example used in scipy.linalg tests. It
> also correspond to DISTUTILS.txt doc in numpy/doc.
>
> 2 : using set_package_path / restore_path facilities, and do a
> "absolute" import:
>
> set_package_path()
> from scipy.foo import bar
> restore_path()
>
> In this case, I don't understand why set_package_path is used ? And
> also, this means that you cannot test the subpackage by itself, you need
> to install the whole scipy tree. This is for example used in
> scipy.signal tests.
>
> Are there any advantages to 2 ? If not, would it be a good idea to
> convert every package to convention 1 ?
If we can, I'd prefer that we simply make build_src/build_ext --inplace work for
numpy and scipy and then remove set_package_path() and restore_path().
--
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 Scipy-dev
mailing list