我正在运行一个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”的模块
为什么会出现此错误?
答案 0 :(得分:0)
似乎当前目录未添加到worker的python路径中。 您应该可以通过将其添加到路径来解决此问题。
def tstimp():
import sys
sys.path.append('.')
import rf
return 42
c.run(tstimp)