[SciPy-user] install location of the newcore header files

Robert Kern rkern at ucsd.edu
Tue Oct 11 12:22:59 CDT 2005

Gerard Vermeulen wrote:
> Sorry if this shows up in a strange place in the thread, but some replies did
> not make it into my inbox.
> Robert Kern wrote:
>>>I finally discovered where the header files get installed when reading CAPI.txt;
>>>on the scip-dev list it is argued that the Python include directory is not a
>>>standard place for headers.
>>No one is arguing that it's not standard. I'm arguing that it's a *bad*
>>place because frequently people can't install to it.
> To anybody who can't install some files in the "standard" locations, I advise
> to do something like:
> python setup.py install --root=~/MyPythonStuff
> The directory layout of this installation under ~/MyPythonStuff is the
> same as if it would be installed in the Python tree.
> It is a minor adjustment for the dictates of distutils; and works for
> any package which tries to install headers in the "standard" locations.

I know about that. You're missing my point, however, that it then
requires one to modify the setup script of every *other* package that
needs the scipy header files to compile to point to this alternate,
nonstandard location. That interferes with automated building and
installation. It's also incompatible with PythonEggs because they can't
contain header files to be installed the old way.

It's a burden on the user rather than the developer. It's a cost that
gets paid every time he has to install something that needs the scipy
includes. Putting the headers into the package means that it will work
in every conceivable installation in exactly the same way everywhere
without effort on the part of the user. That's worth making developers
read the documentation (or the compile commands spat out by distutils)
to find the headers.

Robert Kern
rkern at ucsd.edu

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter

More information about the SciPy-user mailing list