【问题标题】:ECCODES ERROR when opening .GRIB file in Spyder在 Spyder 中打开 .GRIB 文件时出现 ECCODES 错误
【发布时间】:2020-11-06 09:47:06
【问题描述】:

我已访问 Anaconda Prompt 以了解我将要工作的环境。

在那里,我已将目录更改为我将使用的 grib 文件所在的位置,为了安装 cfgrib,我使用了以下命令:

conda install -c conda-forge cfgrib

由于 Python 模块依赖于 ECMWF ecCodes 二进制库,在同一个 Anaconda Prompt 中,我运行了以下命令:

conda install -c conda-forge eccodes

然后,在 Spyder 中打开文件,并尝试运行这个简单的脚本:

import xarray as xr

ds = xr.open_dataset('download.grib', engine='cfgrib')
ds

但出现以下错误:

无法读取索引文件“C:\Users\name\Desktop\data\download.grib.90c91.idx” 回溯(最近一次通话最后): 文件“C:\Users\name\anaconda3\envs\Weather\lib\site-packages\cfgrib\messages.py”,第 351 行,在 from_indexpath_or_filestream self = cls.from_indexpath(indexpath) 文件“C:\Users\name\anaconda3\envs\Weather\lib\site-packages\cfgrib\messages.py”,第 323 行,在 from_indexpath 返回pickle.load(文件) EOFError: 输入用完

那么,

启动内核时发生错误 ECCODES 错误:找不到 boot.def。上下文路径=D:/bld/eccodes_1593015095851/_h_env/Library/share/eccodes/definitions

可能的原因: ‑ 软件未正确安装 ‑ 环境变量 ECCODES_DEFINITION_PATH 已定义,但错误的 ecCodes 断言失败:D:\bld\eccodes_1593015095851\work\src\grib_context.c:226 中的 `0'

我在这里错过了什么?


编辑 1

如果我使用 Visual Studio Code,也会出现此问题。

在终端中,如果我在存储 GRIB 文件的目录中,并且我激活了我正在使用的环境:

conda activate Weather

然后:

& C:/Users/name/anaconda3/envs/Weather/python.exe c:/Users/name/Desktop/data/3_climate/2mtemp_open.py

它给出了与上面相同的错误。

【问题讨论】:

    标签: python anaconda spyder grib eccodes


    【解决方案1】:

    正如错误所说,ECCODES_DEFINITION_PATH 未设置。

    由于我在 Windows 10 上使用 Anaconda,路径如下

    C:/Users/[USER]/Anaconda3/envs/envgeo/Library/share/eccodes/definitions
    

    为了设置环境变量,可以直接运行

    setx ECCODES_DEFINITION_PATH "[ECCODES definition path/directory]"
    

    这应该可以解决问题。

    然而,一个新的可能会出现。由于 .grib 文件可能需要很长时间才能运行,因此请考虑使用 NetCDF 格式的数据。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 2020-11-12
      相关资源
      最近更新 更多