-
Notifications
You must be signed in to change notification settings - Fork 3
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
Fix parsing error on python_requires >=3.0.* by simplifying to >=3 #3
Conversation
Hi YSaxon, thanks so much for making this fix! I just ran into something similar when I tried uploading this package to PyPI just now, which I worked around with commit 21bd027 - however, I think your approach is better since it maintains the Can you give a quick explanation of what the reason for this failure is/why this change fixes it? Also, thank you for following the same style I've been using for the git commit messages - I've been meaning to add a |
Also, looks like I rebased my commits and created conflicts with your original fix 😅 - would you prefer to |
08b3048
to
f7a12b4
Compare
I didn't close this pull request, but I was playing around with the branches earlier and it looks like GitHub automatically closes any pull requests that are associated with a particular branch that gets modified, which is interesting - but not ideal here 😂 Your changes look good to me though! |
Did some digging and found the likely culprit for what caused this problem:
It looks like this is the expected behavior as defined in PEP 440 under the Inclusive ordered comparison section:
Following the link to the Version scheme section and looking at the specification under the Public version identifiers section:
The last line included above seems to be the "loose implementation" of the version modifier that the issues and pull requests I linked to at the very top were discussing ("Did some digging and found the likely culprit"). Once that "loose implementation" was fixed, any package that didn't follow the PEP 440 specification for version identifiers broke. In this package, the break occurred because of the To clarify: it looks like the problem we see in this issue is because of implementation fixes in the packaging tools to more closely follow PEP 440, specifically "Public version identifiers MUST be unique within a given distribution." Any package that relied on the previous implementation that loosely verified the PEP 440 specification but did not strictly follow PEP 440 broke after the implementation of the packaging tool(s) were fixed to more closely follow PEP 440. More explicitly (from this comment on the How to pin a package to a specific major version or lower discussion):
Here are some other posts that aren't directly relevant, but might be interesting tangents for anyone interested in packaging problems:
|
Oof, the merge/rebase diff is a bit ugly here 😅 - here might be a simpler way to resolve the conflicts:
I think this should be enough to resolve the conflicting files issue - let me know if you run into any problems though! |
Thanks for the detailed steps, and the followup. Let me know if this works |
This, works, thank you! 🎉 |
Under certain circumstances the existing python_requires string fails out the parser and causes the pip install to fail. Simplifying it should fix that.
