3

我已访问 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' Traceback(最近一次调用最后):文件“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(file) EOFError: 用尽输入

然后,

启动内核时发生错误 ECCODES ERROR : Unable to find 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

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

4

1 回答 1

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 格式的数据。

于 2020-10-27T09:45:22.773 回答