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...
On Wed, 03 Oct 2012 14:13:10 -0700, Piotr Dobrogost wrote:
> 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...
<steve+comp.lang.pyt...@pearwood.info> wrote:
> On Wed, 03 Oct 2012 14:13:10 -0700, Piotr Dobrogost wrote:
>> 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...
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.
On Wed, Oct 3, 2012 at 8:21 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote:
> On Wed, Oct 3, 2012 at 8:04 PM, Steven D'Aprano
> <steve+comp.lang.pyt...@pearwood.info> wrote:
>> On Wed, 03 Oct 2012 14:13:10 -0700, Piotr Dobrogost wrote:
>>> 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...
> 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.
> 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.
<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.
> 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).