You need to enable JavaScript to run this app. 安装dask[complete]后调用to_dataset_dict报dask无system属性错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

安装dask[complete]后调用to_dataset_dict报dask无system属性错误如何解决

错误含义

这个AttributeError: module 'dask' has no attribute 'system'报错的核心原因是依赖包版本不兼容:
你安装的dask 2.0.0属于较早的版本,dask.system.CPU_COUNT这个API是dask 2.1.0版本才正式加入的,你用到的intake-esm包版本较新,在实现to_dataset_dict()方法时调用了这个新版dask才有的属性,在旧版dask环境下运行就会触发属性不存在的报错。此前你看到的“dask必然存在该属性”的结论,默认针对的是2.1.0之后的dask版本,和你当前环境的版本不匹配。

解决方法

按优先级从高到低提供三种可行方案:

  • 方案1:升级dask到兼容版本
    直接运行以下命令升级dask,安装完成后重启Jupyter内核即可生效:
    !pip install "dask[complete]>=2.1.0" --user
    
    升级完成后可运行import dask; print(dask.__version__)确认版本号符合要求,避免加载到集群全局的旧版dask包。
  • 方案2:降级intake-esm到适配dask 2.0.0的版本
    如果集群环境有约束不能升级dask,可选择降级intake-esm到2020.8.15及之前的版本,该版本的to_dataset_dict()方法不会调用dask.system相关属性:
    !pip install "intake-esm<=2020.8.15" --user
    
  • 方案3:临时补丁方案
    不想修改已安装的包版本时,可在调用to_dataset_dict()之前手动给dask补上缺失的属性,代码如下:
    import os
    import dask
    from types import ModuleType
    
    # 手动补全dask.system模块
    if not hasattr(dask, 'system'):
        dask.system = ModuleType('system')
        dask.system.CPU_COUNT = os.cpu_count()
    

内容的提问来源于stack exchange,提问作者maddie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 00:30:02