[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