-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
2022.10.9 fails to build from Git (missing poetry) #5391
Comments
@stumpylog It seems that this package calls out requiring the poetry backend to build the dependency: https://github.com/paperless-ngx/django-q/blob/paperless-main/pyproject.toml
Do you have poetry as a requirement in your lock file, and what version of pipenv are you upgrading from? |
|
@stumpylog there aren't a lot of changes between those two versions, but the biggest of which is named package categories work. However, I am not sure how those changes could be causing this issue though. I see your |
@stumpylog I get a resolution failure with the |
@stumpylog I was able to reproduce the issue with your existing |
@stumpylog Well I've traced it down to where I changed the default value of this: https://github.com/pypa/pipenv/blob/main/pipenv/core.py#L1342 from Trying to install poetry ahead of time however does not help surprisingly--in fact the sync phase did install poetry to the virtualenv, so I am stumped at the moment. Thanks for the bug report! |
@stumpylog I just thought more about this, and re-read the pip documentation on The key part that is affecting you is:
However with named package categories it became apparent in this test case https://github.com/pypa/pipenv/blob/main/tests/integration/test_install_categories.py#L36) that in order for a prerequisite package to be available for the build step of a subsequent install phase, we needed to not have build isolation. I just tested a workaround for your example using the new feature of named package categories: https://pipenv.pypa.io/en/latest/basics/#specifying-package-categories I also wrote a blog post about this today: https://dev.to/matteius/pipenv-named-categories-2bh8 Basically this resolved the problem by defining a prerequisite category and installing it ahead of the default packages group:
I believe in both cases poetry was being installed to be able to build |
Just noting as well that if that particular change causes a large amount of issues across projects, we can consider changing the default back to |
We're moving away from the django-q package anyway, for other reasons, so I have pinned things to use 2022.10.4, since that's the faster fix for something we're dropping anyway. If this isn't affecting other projects too much (which doesn't seem to be the case), I'd say go ahead and close this out. |
I believe I'm experiencing this issue as well. My Pipfile built fine with the version of pipenv I had on my Mac, but it was failling with the Eventually I tried upgrading from pipenv 2022.3.24 locally to 2022.10.10 and now it's failing locally too. I am also getting a PEP517 error, which it seems is a bit of a red herring. FTR, I'm not using django either. Anyway, here are the relevant files. Pipfile
Pipfile.lock
Build failures
When I run pipenv graph
Let me know if there's any other information I can contribute. |
I have the same issue as well. Our project builds fine on my mac with pipenv 2022.9.24, but in our CICD platform which pulls the latest version of pipenv it fails with similar errors as @nk9 |
A bit more info. I tried pinning pipenv in my Dockerfile with this: -RUN pip install pipenv
+RUN pip install -Iv pipenv==2022.10.4 And that worked. The same workaround resolved the issue locally too. Then I tried the first suggestion from @matteius, and ran into this problem:
So it seems that this workaround requires the newest version of pipenv. (That's not ideal for my team right now.) When I use the newest version, the
I guess this means I need to play whackamole for a bit and find all the unmentioned build dependencies in my various packages and add each of them to this Then I tried the other proposed workaround:
But this still fails with the poetry error from above. So as of now, the only solution for me is to pin to 2022.10.4. |
@nk9 On the newest version take out the
The behavioral change was started passing Also, can I ask why the newest version is not ideal for your team? -- I'd like to understand more about the issues our users face. |
Sure, it's a temporary thing. We're in crunch mode for the next month, and this would necessitate coordinating that everyone upgrades pipenv in order to use the new Pipfile I would commit. I am not eager to add any friction to our dev process at this point. You actually used
I have gone back to the old version of pipenv so I can get past this issue for now. Thanks for your help! |
@nk9 Ah that makes sense thanks for the context. Yeah I generally use sync, but you can use install with |
OK, thanks. And just to be super clear: to use this approach with poetry installed manually that you outlined yesterday, would I need to include the |
@nk9 That is essentially correct for your example -- the order of the categories supplied should be the order they are processed in. The categories can be arbitrarily named, so call it |
|
Issue description
CI runs which use the latest pipenv have started failing at installing packages from the Pipfile.lock, raising
ModuleNotFoundError: No module named 'poetry'
Expected result
The package is installed as previously.
Actual result
See the full logs for a run here: https://github.com/paperless-ngx/paperless-ngx/actions/runs/3211820765/jobs/5255005792#step:7:1
Steps to replicate
Upgrade to pipenv==2022.10.9
Please run
$ pipenv --support
, and paste the results here. Don't put backticks (`
) around it! The output already contains Markdown formatting.I'll have to modify the CI when I have time to get this info.
The text was updated successfully, but these errors were encountered: