[SciPy-dev] Re: [Numpy-discussion] Release of SciPy Core 0.4 (Beta)

Travis Oliphant oliphant at ee.byu.edu
Sun Oct 2 21:37:48 EDT 2005


Robert Kern wrote:

>No one should have to totally rewrite their setup.py scripts, just add
>two lines:
>
>  from scipy.distutils.misc_util import get_scipy_include_dirs
>
>  myext = Extension('myext', ...
>                    include_dirs=get_scipy_include_dirs())
>  
>

What I'm saying is that the default setup command needs to include the 
directory where the headers are installed as well.

Yes, this is only two lines, but I think it will cause issues for 
current packages that already use Numeric.   They will have to re-write 
their setup.py scripts before they can use scipy_core. 

How standard is it to put headers all over the place.  It seems much 
more natural to have one or two include root trees where all headers go.

I also think the default place to install headers should be where Python 
installs them. This should only change if the user cannot write there 
for whatever reason. 

On my system, for example, it seems silly to install to

/usr/lib/python2.4/site-packages/scipy/base/include/scipy   

when because I can write to site-packages I can write to /usr/lib, I 
could also write to

/usr/include/python2.4/scipy


If the user can't write to the default include directory, then just 
place the headers into another "user-default" directory -- either 
specified by the user or some higher-level place:

If scipy is installed here:

/some/foo/directory/scipy

then the headers should be here:

/some/foo/directory/include/scipy

and not where they currently are (clear down in the guts of scipy).

Preferably, I suppose you would just install to

$PREFIX/include/pythonX.X/scipy

where the user can fix the PREFIX.

I'm really concerned about making it easy for people to be able to build 
their packages against the new scipy_core system easily.   This new 
include system seems strange to me.  Are their other packages out there 
that offer a C-API.  How do they package their include file?

-Travis





More information about the SciPy-Dev mailing list