AttributeError: module 'dask' has no attribute 'delayed'

AttributeError: module 'dask' has no attribute 'delayed'

使用 Pycharm 社区 2018.1.4
Python3.6
达斯克 2.8.1

尝试在我的一些方法上延迟执行 dask 并收到错误

AttributeError: module 'dask' has no attribute 'delayed'.

这显然不是真的,所以我想知道我做错了什么。我的实现结构如下:

import dask
def main()
  for i, fn in enumarate(filenames):
     data = {}
     for x in range(0,2):
         data.update(dask.delayed(load_data)(fn, x))
         succes_flag = dask.delayed(execute_analytic)(data)

         if success_flag == 1:
            print("success")
         else:
            print("fail")

def load_data(filename,selector):

def execute_analytic(data)

if __name__ == '__main__':
    dask.compute(main())

本质上,我有一堆数据文件,它们彼此独立,所以我想 运行 并行处理它们,而不是通过 for 循环按顺序处理,如果你采用dask.delayed出来了。
在上面的 dask delayed 实现中,我是否从根本上遗漏了任何东西?

您可能只安装了核心库,而不是具有正常依赖项的完整库。

conda install dask
or
pip install dask[complete]

有关详细信息,请参阅 https://docs.dask.org/en/latest/install.html

我参考以下URL https://github.com/dask/dask/issues/1849

要使用 pip 安装 Dask,有几个选项,具体取决于哪个选项 您希望保持最新的依赖项:

  • pip install dask[完成]:安装一切
  • pip install dask[array]: 安装dask和numpy
  • pip install dask[bag]: 安装dask和cloudpickle
  • pip install dask[dataframe]:安装dask、numpy和pandas
  • pip install dask: 只安装dask,只依赖标准 图书馆。如果您只需要任务计划程序,这是合适的。

pip install "dask[delayed]"是直接回答OP的最低要求(其他答案可能会安装不必要的依赖项)