dask——预加载';未知参数说明符';

dask——预加载';未知参数说明符';,dask,dask-distributed,python-click,Dask,Dask Distributed,Python Click,我试图让dask调度程序预加载一个init文件,但我甚至无法从dask文档中获取要运行的示例代码 dask调度程序应该支持一个--preload选项,该选项从磁盘加载任意python文件,并调用该文件中的dask\u setup函数() 按照文档中的示例(文档中的示例代码中实际上有一个输入错误,下面是固定代码),文件被加载了,但我得到一个错误,即 错误:指定了未知参数:%r是否可配置--是否提供了预加载目标 只要没有额外的单击dask_setup()的参数,我就可以让--preload工作,问题

我试图让
dask调度程序
预加载一个init文件,但我甚至无法从
dask
文档中获取要运行的示例代码

dask调度程序
应该支持一个
--preload
选项,该选项从磁盘加载任意python文件,并调用该文件中的
dask\u setup
函数()

按照文档中的示例(文档中的示例代码中实际上有一个输入错误,下面是固定代码),文件被加载了,但我得到一个错误,即

错误:指定了未知参数:%r是否可配置--是否提供了预加载目标

只要没有额外的
单击
dask_setup()
参数,我就可以让
--preload
工作,问题是我需要这些额外的参数

如何使示例脚本“单击可配置”

我的环境是:

click==6.7, dask==0.17.1, distributed==1.21.1


这很简单,
单击。缺少命令
()


感谢您发布解决方案。修正了@MRocklin本来想做公关的,但你抢先了我一步。您可能还需要修复
add\u worker
if
中缺少的冒号的
SyntaxError
,我将等待您执行此操作:)
# scheduler-setup.py
import click

from distributed.diagnostics.plugin import SchedulerPlugin

class MyPlugin(SchedulerPlugin):
    def __init__(self, print_count):
      self.print_count = print_count
      SchedulerPlugin.__init__(self)

    def add_worker(self, scheduler=None, worker=None, **kwargs):
        print("Added a new worker at:", worker)
        if self.print_count and scheduler is not None:
            print("Total workers:", len(scheduler.workers))

@click.command
@click.option("--print-count/--no-print-count", default=False)
def dask_setup(scheduler, print_count):
    plugin = MyPlugin(print_count)
    scheduler.add_plugin(plugin)
@click.command()
@click.option("--print-count/--no-print-count", default=False)
def dask_setup(scheduler, print_count):
    plugin = MyPlugin(print_count)
    scheduler.add_plugin(plugin)