敏捷工作者无法导入模块

时间:2018-12-09 12:59:22

标签: python-3.x parallel-processing cluster-computing dask dask-distributed

我正在运行一个dask集群和一个w工人。使用CLI实用程序的16个核心。 总的来说,它工作得很好。 但是,由于某种原因,它不会在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”的模块

为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

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

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