On Tue, 28 May 2013 11:35:00 -0400, Barry Warsaw <barry@python.org> wrote:
On May 24, 2013, at 04:23 PM, R. David Murray wrote:
Gentoo has a (fairly complex) driver script that is symlinked to all of these bin scripts. The system then has the concept of the "current python", which can be set to python2 or python3. The default bin then calls the current default interpreter. There are also xxx2 and xxx3 versions of each bin script, which call the 'current' version of python2 or python3, respectively.
I'm sure one of the gentoo devs on this list can speak to this more completely...I'm just a user :) But I must say that the system works well from my point of view.
Interesting approach, but it doesn't seem to me to be fundamentally different than the BPOS (big pile o' symlinks).
Over in Debian-land one of the interesting points against a driver script was that folks like to be able to explicitly override the shebang line interpreter, e.g.
$ head /usr/bin/foo #! /usr/bin/python3 -Es $ python3.4 /usr/bin/foo ...
One other person mentioned they like to be able to execfile() - or the Python 3 moral equivalent - the /usr/bin script, which obvious would be harder with a sh or binary driver script.
True. Another big disadvantage is that you can't just look in the file to find out what it is doing, which I *do* find be a significant drawback. I have the same complaint about setuptools entry-point scripts, where I still haven't figured out how to go from what is in the file to the code that actually gets called. --David