-
-
Notifications
You must be signed in to change notification settings - Fork 611
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
pip-compile fails on packages using poetry #721
Comments
Hi @eliasbrange, thanks for the report. I'm unfamiliar with PEP517 (/todo Read that thing!). I would naively wish for One thing to note, is that this specific install seem to work with Also, there's an issue on the subject in the pendulum project, about issues with Additionally, there seem to be some issues related to So there's the possibility that this is one of the upstreams issue, or that there's something more to do in Any help to untangle this would be greatly appreciated! |
Trying to investigate a bit further. Noticed that |
It raises here: with an error:
For some reason it wants |
Which is described in
|
Right! It doesn't go here: because |
The main problem is here pip-tools/piptools/repositories/pypi.py Line 164 in 5029fcc
|
So that should probably be an optional flag to let consumers choose between installing required packages themselves, or doing isolated builds (which will take forever if there are lots of packages using different build systems). |
let's investigate how |
I guess so. Build isolation could be set on by default and an option to disable it:
|
Gentle ping to @vphilippon. What do you think about this? Since pip builds sources in isolation by default, perhaps we should consider to do it as well. But it could be a "breaking change". |
I went and read https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support to catch up a bit on the subject of build isolation and what it implies. It seems As for the "breaking change" nature of this change, I don't mind as it's meant to adapt to the "new reality and expectation" of the python packaging ecosystem. The Grand Question: Do you think that: A) It's actually a B) Enabling isolation by default may have multiple impacts that will require careful attention for a substantial part of the userbase, or could bring odd behavior in pip-tools itself, and thus should be announced strongly? If so, time for a 4.0.0 (which is ok, it's just numbers! Let's take advantage of Semantic Versionning to raise user awareness on this, as we can). @atugushev @eliasbrange Voice your opinion, you likely have more info on the latest feature of pip than I do right now. |
A) I don't think it is a bug, "no isolation" might be chosen for a special reason. Would be appreciated to get a comment from @techalchemy here. B) I totally agree. Users has to be warned if default behavior suddenly changes. There is a soft way though. We could introduce |
Seems related to pypa/pip#6164. I'm inclined to think poetry needs to update its backend since it's not compatible with pip's PEP 517 implementation as things stand. |
As for rollout of isolation to end users, @techalchemy can probably explain in better terms. :) |
Just ran into this with a package of mine that uses Understand that a breaking change is problematic - is there a plan to at least add an optional flag to allow users to specify this behaviour if they need it? |
@vphilippon i think it's time to provide an optional flag to allow enabling/disabling build isolation. "No build isolation" still be the default behavior, but we could change it in a future releases (as a breaking change). WDYT? |
I am super late responding to this, but I'm not really sure what toggling this does for folks. It's pretty desirable to turn on for installation itself, but can cause issues with resolution (though which issues specifically I couldn't tell you at this point). We have had a lot of problems making In the specific case of this issue, I am fairly sure you will need build isolation turned on if you want pep517 builders to work for resolution, but that's new territory. Like I explain above I am currently ignoring this question entirely and just invoking |
I was getting the following error when running
Updating
|
@pradyunsg Would you mind elaborating on this or possibly filing an issue on Poetry, so we understand what needs to be fixed? |
Add poetry due to issue with poetry, see jazzband/pip-tools#721
Add poetry due to issue with poetry, see jazzband/pip-tools#721
pip-compile
fails if a package usespoetry
which is PEP 517 compliant (https://poetry.eustace.io/docs/pyproject/#poetry-and-pep-517).Simply doing
pip install pendulum
does not require e.g.poetry
to be installed. However, installing it madepip-compile
work which I'm not sure we as consumers of the package in question should need to do.Environment Versions
3.7.2
19.0.1
3.3.1
Steps to replicate
The text was updated successfully, but these errors were encountered: