
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