работник не может импортировать модуль - PullRequest
0 голосов
/ 09 декабря 2018

Я использую кластер dask и рабочий 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 указан здесь.Таким образом, должна быть возможность импортировать его в рабочий, но когда я запускаю следующий код:

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

, я получаю эту ошибку: ModuleNotFoundError: Нет модуля с именем 'rf'

ПочемуЯ получаю эту ошибку?

1 Ответ

0 голосов
/ 19 августа 2019

Похоже, что текущий каталог не добавляется к пути python рабочих.Вы сможете исправить это, добавив его в путь.

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