分布式客户端中的 ImportError

ImportError in dask distributed clients

在过去的几个月里,我们一直在使用分布在计算集群上的 dask。最近我们升级了所有的 python 包,现在所有的 dask 客户端似乎都出现错误并显示以下消息:

distributed.nanny - INFO -         Start Nanny at: 'tcp://10.38.37.14:40983'
Traceback (most recent call last):
File "PYTHON_INSTALL_DIR/lib/python3.6/multiprocessing/forkserver.py", line 
178, in main
  _serve_one(s, listener, alive _r, handler)
File "PYTHON_INSTALL_DIR/lib/python3.6/multiprocessing/forkserver.py", line 212, in _serve_one 
    code = spawn._main(child_r)
File "PYTHON_INSTALL_DIR/lib/python3.6/multiprocessing/spawn.py", line 115, 
in _main
    self = reduction.pickle.load(from_parent)
ModuleNotFoundError: No module named 'distributed.http'
distributed.nanny - WARNING - Worker process 8566 was killed by unknown signal
distributed.nanny - WARNING - Restarting worker

知道是什么导致了这个问题吗? 仅供参考,以下版本的 dask 相关软件包出现此错误:

  1. dask-0.18.1
  2. 分布式 1.22.0

谢谢

distributed.http 在最近的版本中确实被删除了。 您收到此错误表明您的安装中存在不兼容的版本,或者您的路径不知何故变得混乱。您可以检查 $PATHwhich pythonwhich dask-workerpython -c 'import sys; print(sys.path)' 等内容。

我建议安装到新的虚拟环境或 conda 环境中(我个人更喜欢 conda)。