Why does Python never add itself to the Windows path?

Ben Sizer kylotan at gmail.com
Tue Jan 2 06:08:03 EST 2007


Tom Plunket wrote:
> vbgunz wrote:

> > Some if not most python documentation assumes Python is on the path...
>
> Really?  I must live in different places in the docs, but I can't recall
> encountering any such documentation.

I have posted a few examples above: "Installing Python Modules"
(http://python.org/doc/2.2.3/inst/inst.html) is a key example. 3rd
party packages often expect you to type "python setup.py install".
Setuptools/easyinstall will give you an 'easy_install' script, but then
notes that you have to manually fix up the PATH yourself.

> Users who want it in their paths are certainly capable of putting it
> there.

By that logic, users who want Python are probably capable of unzipping
the archive and putting it somewhere semi-suitable. So why provide an
installer?

If you're going to provide an installer, it should do the whole job,
and get Python in a state that is reasonably consistent across all
platforms, where practical. Adding to the PATH variable isn't
impractical.

> I am in the camp that detests apps that automatically install
> tons of crap everywhere without prompts.

Why use hyperbole here? Is 13 or 14 bytes optionally added to a single
environment variable "tons of crap"? And did anybody insist that the
installer would have no prompts?

> Certainly, though, the
> suggestion that one pane in the installer offer to put it in the path
> would leave the default as it is today ("don't edit PATH"), though,
> right?  Doesn't make a whole lot of sense to add a new option and
> default it to something completely different from the old behavior, does
> it?

I have no problem with something being configurable, but I do have a
problem with Windows users being forced to jump through unnecessary
hoops that Unix and MacOS users don't have to endure. And I think the
default should be to edit the PATH and allow you to explicitly disallow
this: changing from the current behaviour is the right thing to do
because the current behaviour is wrong, in terms of cross-platform
compatibility and usability.

-- 
Ben Sizer




More information about the Python-list mailing list