[Python-3000] Namespaces are one honking great idea -- let's do more of those!

Mike Meyer mwm at mired.org
Thu Feb 7 07:30:54 CET 2008


On Thu, 07 Feb 2008 11:48:08 +0900 "Stephen J. Turnbull" <stephen at xemacs.org> wrote:
> Mike Meyer writes:
>  > On the other hand, if setup.py made setting up the symlinks easy,
>  > maybe I'd change my mind.
> I think this should be a separate tool, but either way I'd not object
> to making it easy to do, as long as it was not default.

And this is the real issue with your approach. If you're doing things
on systems you control, or where you're bundling in the python install
you're going to use, then we can do it however you want, and things
will be fine.

People building an app for distribution are going to want it to run in
an many places as possible. If the only name that python makes
available by default is "python", that's what they're going to use.

Removing the default for "python" is a step backwards. Most packagers
and installers will add it back anyway, so many app developers will
use it. Systems that fail to add it will appear broken. Apps that use
a more specific shebang will, at the *very* best, break on exactly the
same set of systems they'd break on using "python", and more likely
break on a lot more.

Leaving things as they are leaves things as they are. If we're going
to break backwards comparability in the language, I think we should
try and improve this situation.

Adding an install target or tool to create version-specific links (of
any flavor) suggests a solution, but I suspect it'll be ignored by a
large percentage of platforms. So packagers for platform that don't
ignore it can patch scripts to take advantage of it, but they tend to
handle multiple versions cleanly in any case, so it's not that big a
win for them. Developers wanting to distribute cross-platform scripts
are still pretty much where they are now.

Making the default install provide those links gives those developers
an expectation that they can use them. If some packagers breaks that -
well, the problem is that python on their system is broken. Yeah, some
developers will ignore the links and keep using "python". But some -
me, for instance - will provide a patch to users and tell them to
complain to the maintainers of that package for their system.

	 <mike
-- 
Mike Meyer <mwm at mired.org>		http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.


More information about the Python-3000 mailing list