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

Travis Oliphant oliphant at ee.byu.edu
Sun Oct 2 20:37:48 CDT 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


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


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:


then the headers should be here:


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

Preferably, I suppose you would just install to


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?


More information about the Scipy-dev mailing list