Skip to content
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

Error when multiple extras are requested separately #96

Closed
ddelange opened this issue Aug 29, 2022 · 4 comments · Fixed by #97
Closed

Error when multiple extras are requested separately #96

ddelange opened this issue Aug 29, 2022 · 4 comments · Fixed by #97
Labels
bug Something isn't working

Comments

@ddelange
Copy link
Owner

I think there's also another related issue:

  • pipgrip -vv --tree ray[tune] → Successful
  • pipgrip -vv --tree ray[rllib] → Successful
  • pipgrip -vv --tree ray[tune,rllib] → Successful
  • pipgrip -vv --tree ray[tune] ray[rllib] → Fails
Command output

Traceback (most recent call last):
  File "/home/vagrant/.local/bin/pipgrip", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/vagrant/.local/lib/python3.8/site-packages/pipgrip/cli.py", line 460, in main
    raise RuntimeError(
RuntimeError: Unexpected partial solution encountered, not all packages have decisions

Originally posted by @jdchn in #95 (comment)

@ddelange ddelange added the bug Something isn't working label Aug 30, 2022
@ddelange
Copy link
Owner Author

this set union handles it in most cases, but somehow we never reach the call of this Term.intersect in the example above.

@ddelange
Copy link
Owner Author

ddelange commented Sep 3, 2022

When this pattern occurs a level deeper (so not two root dependencies like above), the set union hits and the lockfile will be correct, but the tree output is incorrect:

$ pipgrip --tree -vv pypicloud[azure-blob]==1.3.9
...
INFO: fact: pypicloud[azure-blob] (1.3.9) depends on smart-open[azure] (>=6.1.0)
INFO: fact: pypicloud[azure-blob] (1.3.9) depends on smart-open[s3,http] (*)
...
INFO: discovering smart-open[azure,http,s3]
...
pypicloud[azure-blob]==1.3.9 (1.3.9)
├── smart-open[azure]>=6.1.0 (6.1.0)
│   ├── azure-common (1.1.28)
├── smart-open[http,s3] (6.1.0)
│   ├── azure-common (1.1.28)   # :(
│   ├── boto3 (1.24.66)

@ddelange
Copy link
Owner Author

ddelange commented Sep 3, 2022

Temporarily adding smart-open[azure] and smart-open[http,s3] to pipgrip's requirements and running pipgrip -vvv --tree . also hits RuntimeError: Unexpected partial solution encountered, not all packages have decisions, most likely same error yet one level deeper. So this bug is most likely not related to root_dep related logic.

@github-actions
Copy link

github-actions bot commented Sep 5, 2022

Released 0.8.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant