-
Notifications
You must be signed in to change notification settings - Fork 50
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
hooks.get_requires_for_build_wheel may return pep 508 url, but BuildEnvironment.pip_install() cannot process that #43
Comments
Could someone give me just a very extremely basic feedback whether this is a pip error, pep517 bug, or something else? Because I run into the same issue outside of |
From here, "This hook MUST return an additional list of strings containing PEP 508 dependency specifications,"
However, the pip manual points out that "pip does not support the url_req form of specifier at this time" - things are currently moving fast in this area, so I think it would be best to assume "limited support" for URL specs, at best. |
But the PEP 508 URL format works in both setuptool's Isn't this something that should be fixed timely? Surely the Edit: minor clarifications |
In fact, now that I recall why I used it, I think setuptools didn't like the So basically now I can choose whether the package actually installs properly with setuptools & regular pip use, vs whether it works with pep517 and |
@pfmoore any ideas on how to move forward? are packages that use PEP 508 URLs in |
@pradyunsg ah neat 😄 just to emphasize this, I'd be happy not to use PEP 508 URLs at all, but as described above I found no other way to make my package's deps work, and it does work outside of pep517 |
@Jonast I believe this is the main issue on pip's tracker for discussing the overall issue and workarounds: pypa/pip#5898 |
Probably someone needs to write a PR addressing pypa/pip#6306. Personally, I don't use either Also, I'd point out that pip doesn't use |
@cjerdonek that's a different issue, that's "PEP 508 URLs don't support versions / are inadequate when they work". My issue is that they actually don't even work in some places, e.g. pep517's envbuild or
Um well, didn't I just do exactly that? 😆 This DOES definitely break my package. Edit 2: oops, misread, no idea about pip's environment builder I just used pep517's envbuild Edit: related note: I am btw interested in contributing highlevel dependency analysis code to PEP517 which I think would be a great addition, but I can't finish it purely because of this issue. (It forced me to have an ugly, likely incorrect-in-corner-cases workaround, and I can't remove it because it breaks my package unless this is fixed/addressed somehow) |
Basically I have a package that depends on |
@Jonast Sorry, I may have misunderstood your pip issue, which says "any setuptools package that will have them in setup_requires will result in pep517's envbuild.py attempting to install it with pip". I assumed from that, you were referring to this project's Anyway, my point remains. Someone needs to submit a PR. |
Yeah I meant this project's |
To reiterate/summarize, pypa/pip#5898 is the underlying issue here, and we'd be willing to accept a PR fixing that or working around this here. :) |
I see some hints that something relevant may have been fixed in pip, e.g. pypa/pip#6203 We've come to an agreement that the functionality to create isolated build environments and install build dependencies will live in the PyPA build project. The So I'm closing this, as there won't be any further significant work here on |
The
hooks.get_requires_for_build_wheel
function may return a pep 508 url if that is used ininstall_requires()
(which works completely fine outside ofpep517
usage, I can install this package just fine), but BuildEnvironment.pip_install() cannot process that. However, this is exactly howenvbuild.py
uses things:And this will lead to the following error:
So it looks to me like either
envbuild.py
or pip are broken hereThe text was updated successfully, but these errors were encountered: