Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Why is pylaucher in Python 3.3 being installed in Windows folder?

107 views
Skip to first unread message

Piotr Dobrogost

unread,
Oct 3, 2012, 5:13:10 PM10/3/12
to
Why is pylauncher in Python 3.3 being installed in Windows folder and
not in Program Files folder? Installing into Windows folder was maybe
acceptable 10 years ago but not now...

Steven D'Aprano

unread,
Oct 3, 2012, 10:04:17 PM10/3/12
to
Read the PEP:

http://www.python.org/dev/peps/pep-0397/



--
Steven

Ian Kelly

unread,
Oct 3, 2012, 11:21:52 PM10/3/12
to Python
The PEP explains why it's in the Windows folder as opposed to the
System32 folder, but not why either of those locations should be
preferable to Program Files.

Chris Rebert

unread,
Oct 4, 2012, 12:30:14 AM10/4/12
to Ian Kelly, Python
On Wed, Oct 3, 2012 at 8:21 PM, Ian Kelly <ian.g...@gmail.com> wrote:
> On Wed, Oct 3, 2012 at 8:04 PM, Steven D'Aprano
> <steve+comp....@pearwood.info> wrote:
> The PEP explains why it's in the Windows folder as opposed to the
> System32 folder, but not why either of those locations should be
> preferable to Program Files.

Presumably because Program Files isn't part of the $PATH.
http://superuser.com/questions/124239/what-is-the-default-path-environment-variable-setting-on-fresh-install-of-window
Contrast (from the PEP): "However, the Windows directory is always on the path."

Now, as for why the launcher must be on the $PATH…*shrugs*

Cheers,
Chris

Piotr Dobrogost

unread,
Oct 4, 2012, 10:41:08 AM10/4/12
to
On Oct 4, 6:30 am, Chris Rebert <c...@rebertia.com> wrote:
> Presumably because Program Files isn't part of the $PATH.http://superuser.com/questions/124239/what-is-the-default-path-enviro...
> Contrast (from the PEP): "However, the Windows directory is always on the path."

I guess that's the reason indeed.

> Now, as for why the launcher must be on the $PATH…*shrugs*

Now, the question is why not put pylauncher together with python.exe
now, when 3.3 has an option to add Python's folder to the PATH? In
case there are more than one Python installed this would mean changing
pylauncher when changing active Python (via PATH modification). Maybe
that's undesired? If so then installing to Program Files and adding
its folder to PATH the same way Python's folder is added would be much
better than installing into Windows folder.

Piotr Dobrogost

unread,
Oct 4, 2012, 11:32:01 AM10/4/12
to
I raised this issue at http://bugs.python.org/issue16131

Ian Kelly

unread,
Oct 4, 2012, 11:51:10 AM10/4/12
to Python
On Thu, Oct 4, 2012 at 8:41 AM, Piotr Dobrogost
<p...@google-groups-2012.dobrogost.net> wrote:
> Now, the question is why not put pylauncher together with python.exe
> now, when 3.3 has an option to add Python's folder to the PATH? In
> case there are more than one Python installed this would mean changing
> pylauncher when changing active Python (via PATH modification). Maybe
> that's undesired? If so then installing to Program Files and adding
> its folder to PATH the same way Python's folder is added would be much
> better than installing into Windows folder.

It shouldn't go in the Python folder. There can be more than one
active Python installation, but there should really be only one active
pylauncher installation. They should also be kept separate for
uninstallation. So the launcher should have its own separate Program
Files folder.

I don't see why it's so important that the location be on the path in
the first place, though. As I understand it this tool is primarily
intended to support the .py and .pyw file associations, and those are
best looked up in the registry, not on the path. The only reason I
can see for having it on the path is for when you want to explicitly
invoke it on the command line, and for that we can either add the
Program Files location to the path or just let the user deal with
setting the path, as many Windows programs do.

> I raised this issue at http://bugs.python.org/issue16131

Unfortunately, with Python 3.3 already released, I suspect that it's
probably too late to change this.

Oscar Benjamin

unread,
Oct 4, 2012, 12:40:16 PM10/4/12
to Ian Kelly, Python
On 4 October 2012 16:51, Ian Kelly <ian.g...@gmail.com> wrote:
> On Thu, Oct 4, 2012 at 8:41 AM, Piotr Dobrogost
> <p...@google-groups-2012.dobrogost.net> wrote:
>> Now, the question is why not put pylauncher together with python.exe
>> now, when 3.3 has an option to add Python's folder to the PATH? In
>> case there are more than one Python installed this would mean changing
>> pylauncher when changing active Python (via PATH modification). Maybe
>> that's undesired? If so then installing to Program Files and adding
>> its folder to PATH the same way Python's folder is added would be much
>> better than installing into Windows folder.
>
> It shouldn't go in the Python folder. There can be more than one
> active Python installation, but there should really be only one active
> pylauncher installation. They should also be kept separate for
> uninstallation. So the launcher should have its own separate Program
> Files folder.
>
> I don't see why it's so important that the location be on the path in
> the first place, though. As I understand it this tool is primarily
> intended to support the .py and .pyw file associations, and those are
> best looked up in the registry, not on the path. The only reason I
> can see for having it on the path is for when you want to explicitly
> invoke it on the command line, and for that we can either add the
> Program Files location to the path or just let the user deal with
> setting the path, as many Windows programs do.

Having them on PATH means that you can do:

> py script.py

and the effect will be analogous to (in a unix shell):

$ ./script.py

Of course the idea with the launcher is that you just do

> script.py

The difference - on my machine - between explicitly using invoking py
and allowing the file association to do it is that the latter breaks
when redirecting stdin (this is an old bug in Windows):

Q:\>script.py < foo
Traceback (most recent call last):
File "Q:\script.py", line 5, in <module>
for line in sys.stdin:
IOError: [Errno 9] Bad file descriptor

Q:\>py script.py < foo
LOTS OF STUFF


It would be good to be able to choose where to put the launchers.
Unless I missed something that wasn't an option in the installer. It
lets you choose the location of all the other files by choosing where
to put the Python folder. Also it's not as simple as just moving them
to where you want after install since they are associated with the
registry keys for running .py and .pyw files.

As it happens, since I don't have access to the WINDOWS folder on my
work machine, the installer did just put them into the Python33 folder
(which is fine with me).


Oscar

Mark Hammond

unread,
Oct 6, 2012, 10:33:38 PM10/6/12
to Python
On 5/10/2012 2:40 AM, Oscar Benjamin wrote:
> Having them on PATH means that you can do:
>
> > py script.py
>
> and the effect will be analogous to (in a unix shell):
>
> $ ./script.py
>
> Of course the idea with the launcher is that you just do
>
> > script.py

Unless you want a specific version - particularly for testing - eg:

% py -3.2 script.py

Mark

0 new messages