为什么 dask delayed 什么都不做?

Why dask delayed do nothing?

我正在使用 dask 逐行处理文件。但是,dask 似乎什么都不做。我的代码逻辑如下:

import dask
from dask import delayed
from time import sleep

@dask.delayed
def inc(x):
    sleep(1)
    print(x)


def test():
    for i in range(5):
        delayed(inc)(i)

dask.compute(test())

但是,控制台没有任何输出。为什么?

你的函数 test 没有 return 任何东西。

也许你打算做类似

的事情
def test():
    out = []
    for i in range(5):
        out.append(inc(i))
    return out

(注意你已经用delayed修饰了inc,不需要再调用delayed(inc)