dask worker 无法导入模块

dask worker cannot import module

我正在 运行 一个 dask 集群和一个 worker w。 16 个内核,使用 CLI 实用程序。 总的来说,它似乎工作得很好。 但是,出于某种原因,它不会在 cwd 中导入模块。 我尝试从我的笔记本实例中 运行 以下内容:

def tstimp():
  import os
  return os.listdir()
c.run(tstimp)

我得到以下输出:

{'tcp://192.168.1.90:35885': ['class_positions.csv',
'.gitignore',
'README.md',
'fullrun.ipynb',
'.git',
'rf.py',
'__pycache__',
'dask-worker-space',
'utils.py',
'.ipynb_checkpoints']}

请注意,此处列出了模块 rf.py。 因此应该可以将它导入到 worker 中,但是当我 运行 以下代码时:

def tstimp():
  import rf
  return 42
c.run(tstimp)

我收到此错误:ModuleNotFoundError:没有名为 'rf'

的模块

为什么会出现此错误?

似乎当前目录没有添加到工人的python路径中。 您应该可以通过将其添加到路径来解决此问题。

def tstimp():
  import sys
  sys.path.append('.')
  import rf
  return 42
c.run(tstimp)