[SciPy-dev] ANN: NumPy/SciPy Documentation Marathon 2008
Johann Cohen-Tanugi
cohen at slac.stanford.edu
Sun May 18 16:14:43 EDT 2008
Pauli Virtanen wrote:
> Hi,
>
> su, 2008-05-18 kello 14:32 +0200, Johann Cohen-Tanugi kirjoitti:
>
>> thanks. I am looking at fromnumeric.py, and more precisely the examples.
>> When I try doctest.testfile I get a lot of errors and it seems that in
>> every single examples I need to add :
>> >>> from numpy import array
>> >>> from numpy.core.fromnumeric import *
>>
>> So that array is known within the example, as well as the actual
>> function being tested.... I find that a bit strange so I would like to
>> know if there is smthg I do wrong. Here is what I do :
>> [cohen at jarrett core]$ ipython -c "import
>> doctest;doctest.testfile('/home/cohen/data1/sources/python/numpy-svn/numpy/core/fromnumeric.py',module_relative=False)"
>>
>
> I think the problem is that right now very few of the examples can
> actually be ran as doctests, because of the missing import statements.
>
> We still need to decide on a standard way to use imports in the
> examples, and document it more clearly on the wiki. After this is done,
> we need to can out how to run doctests so that the examples pass. And
> after this, we can start testing and fixing the examples.
>
> I think there are three reasonable choices:
>
> 1) Assume 'from numpy import *'
>
> 'import doctest, numpy; doctest.testfile(file_name, globs=numpy.__dict__)'
>
> 2) Assume 'import numpy'
>
> 'import doctest, numpy; doctest.testfile(file_name, globs={"numpy": numpy})'
>
well, there is a little bit of magic that I do not understand. If I do
not put an 'import numpy' at the very first Example section of the
fromnumeric.py file (id est in the doctest of the choose function), I
get plenty of errors stating that numpy is not known, irrespective of
whether I call
ipython -c "import doctest,
numpy;doctest.testfile('/home/cohen/data1/sources/python/numpy-svn/numpy/core/fromnumeric.py',module_relative=False,globs={"numpy":
numpy})"
or
ipython -c "import
doctest;doctest.testfile('/home/cohen/data1/sources/python/numpy-svn/numpy/core/fromnumeric.py',module_relative=False)"
On the other hand, if I put 'import numpy' in the doctest of the choose
function, it seems to become valid for the rest of the doctests,
irrespective of whether I execute the first or second line above.
any idea?
Johann
> 3) Assume 'import numpy as np'
>
> 'import doctest, numpy; doctest.testfile(file_name, globs={"np": numpy})'
>
> The default doctest choice of using the __dict__ of the module where the
> test is in might not be reasonable if we want to write examples instead
> of doctests. (And this default choice apparently doesn't work with
> testfile but it works with testmod?)
>
> I think Stéfan suggested 2). I'd say 1) or 2).
>
> Pauli
>
>
> PS. Could you use "Reply all", so that the messages go also to the
> scipy-dev list? I think this discussion has interest also to other
> people.
>
>
>
More information about the SciPy-Dev
mailing list