Thank you for the background on Python! Stuart Prescott <stu...@debian.org> writes:
> Sidenote: Getting rid of env in shebangs is only part of the story to > making packages robust against accidental breakage. Putting an > incompatible interpreter into PATH (say, /usr/local/bin/{python,perl}) > ends up breaking maintainer scripts that call the interpreter without > specifying the full path in the same way as a dysfunctional > /usr/local/bin/rm would break maintainer scripts that call 'rm'. The > differences are that people seldom compile their own coreutils and the > interpreter is also reliant upon a compatible module tree and that is > not necessarily available to the locally installed interpreter. (Python > people are strongly encouraged not to use /usr/local/bin/ python for > precisely this reason, using, say, virtualenv instead.) Yeah, this is one of the points that I'm struggling with: I feel like our stance with Perl (and Python) and our stance with maintainer scripts is inconsistent. We require maintainer scripts to support PATH interposition, but take the opposite stance for interpreters, and then that causes these sorts of problems. Personally, I've never liked command interposition in maintainer scripts, although I admit that it lets one do some things as a local sysadmin that are otherwise quite irritating to do. But apart from one's preferences on both, it feels like we have a foundational inconsistency here. -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/>