Matt Newville wrote:
Mmh, the problem is that I don't know how to achieve this in a clean, distutils-based way. I can't go changing the shebang line by hand, since I don't know where things will end up, and as far as I know there is no way to force this kind of behavior onto distutils. Do you know any such incantation to achieve the desired result?
(Sorry for not getting back to you on this -- conference all
last week, still finding emails to answer). I'd guess that for
sys.platform == 'Darwin', you _could_ assume that you know where
things will end up.
I'm a bit of a one-trick-pony (linux being my trick, and if that), so I'm afraid I'll have to ask for a bit of feedback from you and/or other OSX real gurus. I worry about polluting setup.py with os-specific hacks (the stuff for win32 is ugly enough), and in OSX there's the issue of the Apple Python vs. the fink one vs. any other hand-installed one.
What happens if paths get hardcoded in there, and someone wants to install with some test python version they have living in /scratch/foo/bar/python2.5.0CVS... ?
Messing with distutils is a bit dangerous, because people expect that if they issue a certain command with one of the relocation flags (--home, --prefix), it will do the right thing. Are you sure that your idea won't generate conflicts with such options, and across multiple python versions living in the same system?
I don't want to sound discouraging, but I am _very_ careful with tweaking the setup scripts. They are really easy to break, so I won't touch them until I am _very_ convinced that the changes are really, really solid and properly take into account all the foreseable pitfalls. And the problem with breaking setup.py, is that you typically find out about it only when some user with a sligthly unusual config comes back complaining about a broken system. I'd like to avoid that if possible.