[Distutils] install location(s)
Andrew Dalke
dalke@bioreason.com
Mon, 29 Mar 1999 14:54:17 -0800
Fred Drake said:
> In general, 100% Python packages should be installed in
> site-packages/,
Okay, I'll follow that guideline.
> I presume each of these platform variations would get a different
> $exec_prefix, or the distinction would be hidden at a lower level
> (such as mounting a filesystem at a common point based on binary
> flavor; not hard with NFS).
Thinking about your comment some more, my question is much less of
an issue than I had thought.
If we (Bioreason) distribute binary libraries and want to be specific
to the given architecture we can install under the existing python
tree, or somewhere else.
If we install under the existing "site-packages" directory, then
the sysadmin has already figured out how to handle the differences
between OSes (eg, by having distinct install or with the NFS mount
trick). And there's no way we can predict that method.
If we distribute as our own directory tree, then the PYTHONPATH
will already have to be modified, so we can say:
Add "source /blah/bling/blang/blang.csh" to your ".cshrc"
and then define "blang.csh" as something like:
setenv OUR_PACKAGE /blah/bling/blang
set arch=`$OUR_PACKAGE/getarch.sh`
set libdir=$OUR_PACKAGE/lib/$arch
if ${?PYTHONPATH} then
setenv PYTHONPATH $PYTHONPATH:$OUR_PACKAGE/python:$libdir
else
setenv PYTHONPATH $OUR_PACKAGE/python:$libdir
endif
The only time this is an issue is if the sysadmin doesn't
already have a mechanism for installing multiple architectures,
and there's no way that can be mandated. (For example, I
think we'll end up internally choosing libraries by setting
up our own PYTHONPATH as needed for each architecture, and we'll
be able to specify our own criterion to distinguish between then
in ways that the normal Python install *cannot* discern.)
Andrew
dalke@bioreason.com