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

  • Thread starter Piotr Dobrogost
  • Start date
P

Piotr Dobrogost

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...
 
C

Chris Rebert

P

Piotr Dobrogost

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 thepath."

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.
 
I

Ian Kelly

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.

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

Oscar Benjamin

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
 
M

Mark Hammond

Having them on PATH means that you can do:


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

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

% py -3.2 script.py

Mark
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top