-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Workaround for bdist_wheel.dist_info_dir
problems
#4684
Conversation
dd7a258
to
96be735
Compare
Seems to work as per https://github.com/pypa/setuptools/actions/runs/11353165220/job/31578117635. |
@pelson could you please have a look? The objective is to avoid breaking old packages in the ecosystem that have not updated yet. |
First impression: complex but reasonable. Thanks for tidying this up 👍. I have to say that in general perhaps a more defensive infrastructure is needed around the command concept, otherwise we can never extend the capabilities of a particular command without breaking something for somebody who implemented an alternative command of the same name. |
Yeah, I tried adding the exception handling in at least 3 other places before landing on this approach, which I thing was the best between all the ones I tried... Not sure I can do better than that.
Agreed. Do you have any suggestion for that? |
I will go ahead and merge this now so that we can cut a release. We can revisit the implementation and make it simpler in a follow up if anyone has a better idea. |
Our pipeline starts fail after Oct 16, when 75.2.0 is released. I'm not sure if it is related to this PR. I can only repro the error on macOS. Please ignore Updating to a newer version can fix it, but I'm curious why this error occurs.
|
Hi @bebound, this seems to be a different problem. The Now the other error that seems to be the root case of the problem is |
👍 - thanks again. The backwards compatibility of projects who used to import wheel in their
The psutil 5.x versions imported wheel in their The error for |
Thanks for the response.
elif MACOS:
print(hilite("XCode (https://developer.apple.com/xcode/) "
"is not installed"), color="red", file=sys.stderr) I'm still confused. In 75.1.0, if I have In 75.2.0, this PR tries to suppress the However, for |
As codebases naturally change, this kind of stuff is normal. It is very common as dependencies evolve that previously unravelled code paths start to be expanded. If these code paths are untested, there is potential for error. This PR in setuptools does not only "supress" the error. It identifies an anomally (usage of a deprecated functionality from The package tries to wrap the call to The assumption motivating the The general advice1 for package developers that want long-term support from setuptools is:
Footnotes
|
Summary of changes
This is a workaround identified in #4647 (comment)
We should be able to see the integration tests failing or passing for PyYAML in https://github.com/pypa/setuptools/actions/runs/11353165220
Closes #4683
Pull Request Checklist
newsfragments/
.(See documentation for details)