首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RuntimeError:锁对象只能通过继承在进程之间共享

RuntimeError:锁对象只能通过继承在进程之间共享
EN

Stack Overflow用户
提问于 2019-04-25 14:45:15
回答 1查看 508关注 0票数 0

在编写xarray.DataArray to_netcdf()时,我得到了一个to_netcdf。一切都正常,直到写入磁盘为止。但我找到了一个解决办法,就是使用dask.config.set(scheduler='single-threaded')

  • 在写入磁盘之前,每个人都应该使用dask.config.set(scheduler='single-threaded')吗?
  • 我是不是遗漏了什么?

我测试了两个调度程序:

1) from dask.distributed import Client; client = Client()

2) import dask.multiprocessing; dask.config.set(scheduler=dask.multiprocessing.get)

python=2.7,xarray=0.10.9,回溯:

代码语言:javascript
复制
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/site-packages/xarray/core/dataarray.py", line 1746, in to_netcdf
    return dataset.to_netcdf(*args, **kwargs)
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/site-packages/xarray/core/dataset.py", line 1254, in to_netcdf
    compute=compute)
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/site-packages/xarray/backends/api.py", line 724, in to_netcdf
    unlimited_dims=unlimited_dims, compute=compute)
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/site-packages/xarray/core/dataset.py", line 1181, in dump_to_store
    store.sync(compute=compute)
...
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/multiprocessing/synchronize.py", line 95, in __getstate__
    assert_spawning(self)
  File "/home/py_user/miniconda2/envs/v0/lib/python2.7/multiprocessing/forking.py", line 52, in assert_spawning
    ' through inheritance' % type(self).__name__
EN

回答 1

Stack Overflow用户

发布于 2019-04-27 14:28:20

正如@jhamman在评论中提到的。这可能已在较新版本的Xarray中得到修正。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55852025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档