-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Don't append "m" ABI flag in Python 3.8 #6874
Conversation
Hello, thank you for submitting a PR! We're tracking this activity over in pypa/packaging#172. This fix should target that library and then ideally it would get pulled into both pip and wheel. IIUC, libraries built in release mode can get used in a debug interpreter in 3.8+, but not vice-versa. @vstinner describes the intended behavior here. So we would probably want to return a list of applicable tags (that is, both |
@chrahunt Note that this PR doesn't just cover debug but also the removal of the You're right that the addition of the Thank you for considering this. |
@chrahunt I have opened issue pypa/packaging#180 to track this in that library, but not before realising that I have changed the scope of this PR to only focus on the I've updated the unit test. |
You're right, this is unrelated to the change I linked before, sorry about that. I made issue #6885 describing the problem in more detail. Can you please update the news file to reflect that issue? @pradyunsg, assuming this looks OK and given the Python 3.8 release schedule (link), would this need to be in 19.2.3 or 19.3 to get into 3.8.0's |
Thank you. Updated the bugfix number. |
@rdb Thanks for spotting this and providing a fix! |
warn=(impl == 'cp')): | ||
warn=(impl == 'cp' and | ||
sys.version_info < (3, 8))) \ | ||
and sys.version_info < (3, 8): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: is there a reason the sys.version_info < (3, 8)
has to go after the call to get_flag()
? It seems like this would be simpler with it before because then the sys.version_info < (3, 8)
wouldn't need to be duplicated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At a quick glance, that sounds like a reasonable tidy-up. A follow-up PR (as I just merged this as it stands) to clean this up would seem reasonable to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. (And the same type of change can be made in the following conditional as well.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, I was just following the example of the other version check below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just filed this as PR #6889.
Thanks for merging! @pradyunsg Though it didn't appear to be important in my testing, |
A proper fix for this has been merged in pip already (pypa/pip#6874), so this hack will only exist until pip 19.2.3 is out.
Don't append "m" ABI flag in Python 3.8
In Python 3.8, the
m
flag is no longer appended to the SOABI, since the ABI is longer influenced by enabling pymalloc. This PR should fix the ability to install Python 3.8 wheels on Windows. In Python 3.8,sys.abiflags
is an empty string.https://docs.python.org/dev/whatsnew/3.8.html#build-and-c-api-changes
https://bugs.python.org/issue36707
See also pypa/wheel#303