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

Overly precise click==8.0.4 pin? #931

Closed
ryan-williams opened this issue Jun 10, 2022 · 5 comments · Fixed by #932
Closed

Overly precise click==8.0.4 pin? #931

ryan-williams opened this issue Jun 10, 2022 · 5 comments · Fixed by #932

Comments

@ryan-williams
Copy link

I have a project that uses click==8.1.3 and pip is unhappy due to dask-cuda's click==8.0.4 pin.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
dask-cuda 22.4.0 requires click==8.0.4, but you have click 8.1.3 which is incompatible.

Are there any known issues with other 8.x versions of click, or might e.g. click>=8.0 suffice?

@pentschev
Copy link
Member

I believe click>=8.0 won't suffice, as per the description from #883 .

@charlesbluca do you know if we could make the click dependency less restrictive? Perhaps we may need to skip some versions, like 8.1.0.

@ryan-williams
Copy link
Author

Thanks for the pointer. I see #883 chose click==8.0.4 based on rapidsai/integration#453, which in turn points at psf/black#2964, which says:

Please use Black 22.3.0 which was just released to fix this issue or pin Click to 8.0.0, 8.0.1, 8.0.2, 8.0.3, or 8.0.4.

Possible routes forward:

  • upgrade to black>=22.3.0 here (and in other Rapids libraries?)
  • upgrade to click>8.1.0? (previous comment suggests the issue may be specific to click==8.1.0 & black<23)
  • Vendor click
    • Metaflow recently did this Vendor click as dependency for Metaflow Netflix/metaflow#929
    • Maybe more complex than it's worth, but otoh click is a good candidate for vendoring for exactly the reasons we're running into here: many libraries in a given dependency tree are liable to use different versions of click, basically at random and independently from one another

I don't think it's super urgent, just noting what I see as the options. My click==8.1.3 project seems to work fine despite pip complaining about the broken 8.0.4 pin here; I'm not sure we are exercising whichever parts of this library depend on click.

@charlesbluca
Copy link
Member

I see #883 (comment) based on rapidsai/integration#453, which in turn points at psf/black#2964,

IIRC, this issue was actually unrelated to the breakage in Black (though we did bump to 22.3.0 in #889), and was because of issues with dask-cuda's CLI caused by the bump to click 8.1.0 (some additional context on this in #883 (comment)), which in turn stemmed from issues with Distributed's CLI.

Assuming that this has been resolved on Distributed's end (and our Dask min version bumped accordingly), we should be safe to go back to the looser pinning we once used prior to #883.

@jakirkham
Copy link
Member

jakirkham commented Jun 13, 2022

Believe this fixed the Distributed issue ( dask/distributed#6018 ). Though it landed in a version of Distributed after the one we pinned to in that RAPIDS release. Should be good to relax click now

@charlesbluca
Copy link
Member

Yup, opened #932 to hopefully resolve this

@rapids-bot rapids-bot bot closed this as completed in #932 Jun 15, 2022
rapids-bot bot pushed a commit that referenced this issue Jun 15, 2022
With the `click` breakage in Distributed presumably resolved, we should be good removing this click pinning.

Closes #931

Authors:
  - Charles Blackmon-Luca (https://github.com/charlesbluca)

Approvers:
  - Peter Andreas Entschev (https://github.com/pentschev)

URL: #932
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants