-
-
Notifications
You must be signed in to change notification settings - Fork 32k
Py.exe not working after 3.11rc1 install #96559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This seems to be a behaviour change - the default of "3.10-64" is no longer recognised. It's documented as valid here:
@pablogsal should this be marked as a release blocker? |
I had a dig through the current "whatsnew" page and there's no mention of this change, fwiw. I had also run into this issue - the launcher seems to have dropped the -64 suffix, so if you have a version pinned in your |
By all means drop the need for the -64, but I think it must be supported for existing installations. |
Hummmm, is not a bad crash but I think it may be important enough that should block the release. I will re-evaluate on release day if is not fixed, but for now it should be a release blocker. Can someone bisect the problem to point to a specific commit? |
Unlikely, as the py.exe in 3.11 is a complete rewrite, so it's more probable that this behaviour simply wasn't included in the new version. @zooba any thoughts? |
Note, this seems to only apply to configured defaults in |
Currently the "-32" and "-64" suffixes are only implemented for the command line. They're not implemented for shebangs and not for the defaults in the "PY_*" environment variables or "py.ini" files. The "-32" suffix should work for newer 32-bit releases, which use the "-32" suffix in the registry key name. In this case, the launcher won't actually validate that the architecture is 32-bit, but that shouldn't be a problem. In Lines 646 to 662 in 9e55685
Handling the suffix could be factored out into a common function. Alternatively, I think it could be moved into |
Defaults picked up from the config files should probably be treated as old-style arguments if they don't contain a slash. The In this case, it's just the We should fix this one up. It's a pretty significant takeback. I'll take a look tonight |
…-style tags, and adds what's new section
… tags, and adds What's New section (GH-96595)
…-style tags, and adds What's New section (pythonGH-96595) (cherry picked from commit 80a9bd2) Co-authored-by: Steve Dower <[email protected]>
Meta issue — are there any core devs besides Steve working on the codebase for Py? I wouldn’t even know how to find the source code. :-/ |
I’m keeping an eye on things as they come up but I’ve not really looked at the new code in depth. |
The source is launcher2.c in the PC directory |
@zooba, why doesn't the new launcher implement the old launcher's check for 32-bit and 64-bit binaries via |
… tags, and adds What's New section (GH-96595) (cherry picked from commit 80a9bd2) Co-authored-by: Steve Dower <[email protected]>
Conscious decision. There are very few cases that will no longer be handled, and all of them in end-of-life interpreters released by us, as well as many more cases that will simply fail But there are vanishingly few 32-bit installs out there anymore, potentially more 32-bit 2.7 installs than any other version. I've never even seen the |
I use a -32, but it's specifically for testing that something still works with a 32-bit Windows Python, not because I actually have a use for it myself :) |
This is a valid use, though, so thanks for mentioning it. But are you testing that something still works on 3.5 or earlier 32-bit? |
In our specific case we dropped 3.5 support a number of months ago, so no. |
Okay. I haven't used a 32-bit build of Windows in longer than I can remember, so the fallback works fine for me for all-users installations, based on whether the "HKLM\Software" hive is accessed with |
Bug report
I have a Windows 10 VM that I use to build extensions for python.
Previously I had 3.11a3 installed.
After installing both python 3.11rc1 32 and 64 bit versions the py command is not working. Here is what I see in cmd:
Your environment
The text was updated successfully, but these errors were encountered: