首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spyder中打开.GRIB文件时发生ECCODES错误

在Spyder中打开.GRIB文件时发生ECCODES错误
EN

Stack Overflow用户
提问于 2020-07-16 16:46:07
回答 1查看 2K关注 0票数 3

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

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

conda install -c conda-forge cfgrib

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

conda install -c conda-forge eccodes

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

代码语言:javascript
复制
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(索引路径)文件"C:\Users\name\anaconda3\envs\Weather\lib\site-packages\cfgrib\messages.py",第323行中在from_indexpath中返回pickle.load(文件) EOFError:没有输入

然后,

启动内核ECCODES错误时引起的错误:无法找到boot.def。上下文path=D:/bld/eccodes_1593015095851/_h_env/Library/share/eccodes/definitions

可能的原因:-软件没有正确安装-环境变量ECCODES_DEFINITION_PATH已定义,但不正确的ecCodes断言失败:“0”在ECCODES_DEFINITION_PATH中

我在这里错过了什么?

编辑1

如果使用Visual代码,也会发生此问题。

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

代码语言:javascript
复制
conda activate Weather

然后:

代码语言:javascript
复制
& C:/Users/name/anaconda3/envs/Weather/python.exe c:/Users/name/Desktop/data/3_climate/2mtemp_open.py

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-27 09:45:22

正如错误所述,没有设置ECCODES_DEFINITION_PATH

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

代码语言:javascript
复制
C:/Users/[USER]/Anaconda3/envs/envgeo/Library/share/eccodes/definitions

为了设置环境变量,可以简单地运行

代码语言:javascript
复制
setx ECCODES_DEFINITION_PATH "[ECCODES definition path/directory]"

这应该能解决这个问题。

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

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

https://stackoverflow.com/questions/62939533

复制
相关文章

相似问题

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