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

Discussion in 'Python' started by Piotr Dobrogost, Oct 3, 2012.

  1. 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...
     
    Piotr Dobrogost, Oct 3, 2012
    #1
    1. Advertising

  2. Re: Why is pylaucher in Python 3.3 being installed in Windowsfolder?

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


    Read the PEP:

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



    --
    Steven
     
    Steven D'Aprano, Oct 4, 2012
    #2
    1. Advertising

  3. Piotr Dobrogost

    Ian Kelly Guest

    On Wed, Oct 3, 2012 at 8:04 PM, Steven D'Aprano
    <> 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...

    >
    > Read the PEP:
    >
    > http://www.python.org/dev/peps/pep-0397/


    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.
     
    Ian Kelly, Oct 4, 2012
    #3
  4. Piotr Dobrogost

    Chris Rebert Guest

    On Wed, Oct 3, 2012 at 8:21 PM, Ian Kelly <> wrote:
    > On Wed, Oct 3, 2012 at 8:04 PM, Steven D'Aprano
    > <> 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...

    >>
    >> Read the PEP:
    >>
    >> http://www.python.org/dev/peps/pep-0397/

    >
    > 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/1242...t-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
     
    Chris Rebert, Oct 4, 2012
    #4
  5. On Oct 4, 6:30 am, Chris Rebert <> 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 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.
     
    Piotr Dobrogost, Oct 4, 2012
    #5
  6. Piotr Dobrogost, Oct 4, 2012
    #6
  7. Piotr Dobrogost

    Ian Kelly Guest

    On Thu, Oct 4, 2012 at 8:41 AM, Piotr Dobrogost
    <> 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.
     
    Ian Kelly, Oct 4, 2012
    #7
  8. On 4 October 2012 16:51, Ian Kelly <> wrote:
    > On Thu, Oct 4, 2012 at 8:41 AM, Piotr Dobrogost
    > <> 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
     
    Oscar Benjamin, Oct 4, 2012
    #8
  9. Piotr Dobrogost

    Mark Hammond Guest

    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
     
    Mark Hammond, Oct 7, 2012
    #9
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Learner
    Replies:
    4
    Views:
    2,125
    Learner
    Jan 27, 2006
  2. Mr. SweatyFinger

    why why why why why

    Mr. SweatyFinger, Nov 28, 2006, in forum: ASP .Net
    Replies:
    4
    Views:
    982
    Mark Rae
    Dec 21, 2006
  3. Mr. SweatyFinger
    Replies:
    2
    Views:
    2,232
    Smokey Grindel
    Dec 2, 2006
  4. Replies:
    3
    Views:
    485
    Jason
    Apr 28, 2008
  5. KishoreRP
    Replies:
    1
    Views:
    689
    Tim Golden
    Mar 15, 2011
Loading...

Share This Page