netCDF4 没有使用 Anaconda 的模块数据集

netCDF4 has no module Dataset using Anaconda

我正在使用 Anaconda 管理我的环境,但我遇到了 netCDF4 的一个奇怪问题。

我的环境中有几个 Jupyter notebooks,我一直在使用 netCDF4,一点问题都没有。我只对读取 NetCDF 文件感兴趣,所以我只是真正使用数据集。

现在我在 Python 包中从我的 Jupyter notebooks 中实现算法,但我得到了这个错误(在 VS Code 中):

No name 'Dataset' in module 'netCDF4'

我可以看到它已安装在 Anaconda Navigator 中,如果我尝试执行 pip 安装,它会报告 netcdf4 已安装并且满足所有依赖项。

我在这里读过类似的帖子,但它们没有解决我的问题。

回复评论,错误是我导入数据集的地方:

from netCDF4 import Dataset

这也给出了错误:

import netCDF4 as nc
salinity_data = nc.Dataset(<file name etc...>)

除了一些“_”前缀变量外,代码完成在 netCDF4 包中没有显示任何内容。

我正在使用 Python 3.8.12 并且我正在使用我使用 Anaconda 设置的正确虚拟环境。

错误消息来自 pylint,而不是 Python 解释器(见上面的评论)。

代码 运行 没问题,所以问题出在 pylint 和配置上。我可以通过以下方式抑制错误:

from netCDF4 import Dataset #pylint: disable=no-name-in-module

这暂时可以,但在某些时候,我想弄清楚为什么 pylint 会报告此问题。

我还找到了一个更适合我对 netCDF 文件执行的操作的软件包:

https://github.com/h5netcdf/h5netcdf

它没有 netCDF4 的所有隐藏依赖项,并且有一个“legacyapi”,它是 netcdf 包的 drop-in 替代品:

import hfnetcdf.legacyapi as nc
my_data = nc.Dataset('my_data_file.nc', 'r')