为DASK工作者使用新的python环境

时间:2020-06-21 03:59:27

标签: python dask dask-distributed dask-kubernetes

我在hpc上运行DASK服务器,在那里我具有运行dask所需的所有基本模块,并将该模块加载到jupyter笔记本中。我想使用dask和dask基本环境中不可用的模块运行一些处理任务。为此,我使用conda创建了自定义环境。在运行我的任务之前,有没有一种简单的方法可以将此新的公寓环境链接到dask客户端。

我尝试使用

from dask.distributed import Client,LocalCluster
client = Client(scheduler_file=schedule_json)
print(client)
client.upload_file('condaenvfile.tar')

我也尝试过使用 client.run(os.system,'conda install -c conda-forge package -y'),但仍然收到类似未找到模块的消息。


我让我的问题更加明确,以便我找出是否还有其他替代方法可以解决此类问题。

import skimage
import dask.distributed import Client

client=Client(schedule_json)


def myfunc(param):
   process using skimage


r=[]
for in [list]:
     myres=dask.delayed(myfun)(param)
     r.append(myres)

allres=dask.compute(*r)

在上面的示例中,我在HPC环境中运行了dask模块,该模块没有任何控件,只是我可以加载该模块。我的用户个人资料中有自己的公寓环境,我必须使用dask worker使用skilearn(和其他模块)运行某些过程。解决该问题的替代方法是什么?

1 个答案:

答案 0 :(得分:3)

一旦dask运行,您将无法切换底层Python环境。相反,您应该使用所需的所有库和依赖项来构建环境,并从新创建的环境中运行。为了帮助创建环境,我建议使用conda-pack。如果要修改现有环境,可以执行此操作,但我不建议这样做。如果您非常关心此问题,那么您可能会对https://github.com/dask/distributed/issues/3111

感兴趣