question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

dask-scheduler and dask-worker CLI break with `click==8.0.0`

See original GitHub issue

What happened:

When using click=8.0.0 which was released on May 11th, the scheduler as well as worker CLI don’t come up.

What you expected to happen:

Working scheduler and worker CLIs

Minimal Complete Verifiable Example:

$ dask-scheduler --version
ValueError: 'default' must be a list when 'multiple' is true.
$ dask-worker --version
AttributeError: module 'click._unicodefun' has no attribute '_verify_python3_env'

Anything else we need to know?:

Probable root cause for dask-scheduler:

Click changelog:

The default value for a parameter with nargs > 1 and multiple=True must be a list of tuples. #1649

https://github.com/dask/distributed/blob/5e150aa6a3bd7decd38193a3d754497f8914d83c/distributed/cli/dask_scheduler.py#L104

dask-worker doesn’t set a default for multiple options and therefore is not affected by this, but shows a different failure.

Probable root cause for dask-worker:

https://github.com/dask/distributed/blob/5e150aa6a3bd7decd38193a3d754497f8914d83c/distributed/cli/utils.py#L22

Environment:

  • pip install distributed reproduces the issue
  • Click version needs to be: 8.0.0

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:13 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
quasibencommented, May 14, 2021

@ManuelBahr FYI, a patch was submitted to conda-forge to restrict click <8 for versions of dask older than 2021.05.0: https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/142/

1reaction
jrbourbeaucommented, May 12, 2021

Thanks for reporting @ManuelBahr and investigating @quasiben! I opened up a PR over in https://github.com/dask/distributed/pull/4810 which proposes we add some compatibility code to handle the changes in click 8

Read more comments on GitHub >

github_iconTop Results From Across the Web

Command Line - Dask documentation
The workers connect to the scheduler, which then sets up a long-running network connection back to the worker. The workers will learn the...
Read more >
Worker — Dask.distributed 2022.12.1 documentation
Compute tasks as directed by the scheduler. Store and serve computed results to other workers or clients. Each worker contains a ThreadPool that...
Read more >
Python API - Dask documentation
This sets up a scheduler in your local process along with a number of workers and threads per worker related to the number...
Read more >
Python API (advanced) - Dask documentation
We first start with a comprehensive example of setting up a Scheduler, two Workers, and one Client in the same event loop, running...
Read more >
Scheduling Policies - Dask.distributed
Though this does not provide perfect initial task assignment (a handful of sibling tasks may be split across workers), it does well in...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found