Python 在Spyder中打开.GRIB文件时出现ECCODE错误

Python 在Spyder中打开.GRIB文件时出现ECCODE错误,python,anaconda,spyder,grib,eccodes,Python,Anaconda,Spyder,Grib,Eccodes,我已经访问了Anaconda提示符,提示我将要工作的环境 到达后,我将目录更改为我将使用的grib文件所在的位置,为了安装cfgrib,我使用了以下命令: conda安装-c conda forge cfgrib 由于Python模块依赖于ECMWF ecCodes二进制库,因此在同一个Anaconda提示符中,我运行了以下命令: conda安装-c conda forge eccode 然后,在Spyder中打开文件,并尝试运行以下简单脚本: import xarray as xr ds =

我已经访问了Anaconda提示符,提示我将要工作的环境

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

conda安装-c conda forge cfgrib

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

conda安装-c conda forge eccode

然后,在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\u indexpath\u或\u filestream中 self=cls.from_indepath(indepath) 文件“C:\Users\name\anaconda3\envs\Weather\lib\site packages\cfgrib\messages.py”,第323行,来自 返回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中的“0”

我错过了什么


编辑1

如果我使用VisualStudio代码,这个问题也会发生

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

conda activate Weather
然后:

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

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

如错误所述,
ECCODES\u DEFINITION\u PATH
未设置

当我在Windows10上使用Anaconda时,路径如下

C:/Users/[USER]/Anaconda3/envs/envgeo/Library/share/eccodes/definitions
为了设置环境变量,只需运行

setx ECCODES_DEFINITION_PATH "[ECCODES definition path/directory]"
这应该可以解决问题

然而,一个新的可能会出现。由于GRIB文件可能需要大量运行,请考虑使用NETCDF.< /P>格式的数据。