-
Notifications
You must be signed in to change notification settings - Fork 151
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
implicit dependency on setuptools causes build failures on pip #344
Comments
Repro:
|
In 4f9d93d, I attempted to declare the dependency on setuptools, but that was insufficient. It seems pip was unable to honor it.
It seems pip is still trying to install wheel, even though it's not in the Edit: To replicate this behavior use |
In cae8be5, I tried adding
|
What do you expect me to do here? Wheel already declares setuptools as a setup requirement. Creating a |
I'm not sure there's anything the wheel project can do here. It seems to be a bootstrapping issue - pip creates an implicit dependency on wheel for every project, including setuptools, so when pip attempts to build wheel from source, it attempts to download setuptools, which requires wheel (still from source), which can't build without setuptools. This issue probably needs to be addressed at the pip or packaging-problems level. The aforementioned pip issue is probably a suitable forum for the underlying issue.
That seems problemmatic. Even if supplying a |
The relevant discussion can be found here. |
Seems like one possibility towards bootstrapping solution here would be porting this project to be built through flit. As part of testing pypa/flit#441, I noticed that a simple bootstrapper PoC like https://gitlab.com/freedesktop-sdk/pep517_install/-/tree/main would be able to install as far as flit itself and could be used to install this project which would in term allow installing setuptools (whose build dep is wheel). |
I've been working on solving the boostrapping problem in general in pypa/packaging-problems#342. I'm closing this as won't fix. I've pushed the work in progress branch to |
You actually closed this as completed, not wontfix. But I think this is actually correct, as |
In pypa/pip#7831, I described an issue where attempting to build distlib with pep-571 support and
--no-binary :all:
leads to a build failure when pip attempts to create the build environment with setuptools and wheel, but wheel fails to build when setuptools isn't present. Perhaps this issue could be addressed by declaring the build dependency on setuptools.The text was updated successfully, but these errors were encountered: