This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eryk sun
Recipients eryk sun, frostyelsa, paul.moore, steve.dower, terry.reedy, tim.golden, zach.ware
Date 2016-12-20.18:00:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1482256843.64.0.414139905295.issue29014@psf.upfronthosting.co.za>
In-reply-to
Content
When you change the association for executing scripts (either via Default Programs or the Open with => Choose another app menu), do not "look for another app on this PC". Manually associating files with an executable such as py.exe creates a ProgId that's only meant for opening data files, i.e. there's no "%*" in the template to pass command-line arguments. (Microsoft should provide an option here to support passing command-line arguments.)

You have to select "Python" in the listed applications. Explorer lists them only by name and icon. There may be multiple entries named "Python". The one you're looking for should have a rocket on the icon because it opens using the py.exe launcher. Hopefully this should be for the "Python.File" ProgId that's configured by Python's installer. 

If switching to it doesn't add the IDLE menu, first confirm that the "ProgId" value is "Python.File" in the user choice registry key at the following path: "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py\UserChoice". If not, pick a different "Python" app from the list until the user choice is "Python.File". (Microsoft should provide an advanced way to select a ProgId explicitly. They took away the ability to edit the UserChoice key, which is fine, but they failed to provide an advanced alternative to the dumbed-down app list, which is hostile to both power users and developers.) If no entry sets the user choice to "Python.File" or if it's set to "Python.File" and there's no IDLE menu, then maybe the ProgId itself has been modified or deleted. Try repairing your Python installation to fix this.

Steve, you could move the "Edit with IDLE" menu out of the Python.File ProgId to an entry defined in SystemFileAssociations. This should normally be available regardless of the application the user associates with .py files. Here's an example .reg file to add this for a system install of 64-bit 3.5:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py\shell]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py\shell\editwithidle]
    "MUIVerb"="&Edit with IDLE"
    "Subcommands"=""

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py\shell\editwithidle\shell]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py\shell\editwithidle\shell\edit35]
    "MUIVerb"="Edit with IDLE 3.5 (64-bit)"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.py\shell\editwithidle\shell\edit35\command]
    @="\"C:\\Program Files\\Python35\\pythonw.exe\" -m idlelib \"%1\" %*"
History
Date User Action Args
2016-12-20 18:00:43eryk sunsetrecipients: + eryk sun, terry.reedy, paul.moore, tim.golden, zach.ware, steve.dower, frostyelsa
2016-12-20 18:00:43eryk sunsetmessageid: <1482256843.64.0.414139905295.issue29014@psf.upfronthosting.co.za>
2016-12-20 18:00:43eryk sunlinkissue29014 messages
2016-12-20 18:00:43eryk suncreate