2

我正在尝试安装cfgrib到我的 WSL2 Ubuntu,但是当我键入python3 -m cfgrib selfcheck它时会出现以下错误,如下所示。

Traceback (most recent call last):
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/messages.py", line 42, in <module>
    import pyeccodes.compat as eccodes
ModuleNotFoundError: No module named 'pyeccodes'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 184, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.8/runpy.py", line 143, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.8/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/__init__.py", line 19, in <module>
    from .cfmessage import CfMessage
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/cfmessage.py", line 29, in <module>
    from . import messages
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/messages.py", line 44, in <module>
    raise exc
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/messages.py", line 37, in <module>
    from . import bindings as eccodes
  File "/home/berke/.local/lib/python3.8/site-packages/cfgrib/bindings.py", line 57, in <module>
    raise RuntimeError(f"ecCodes library not found using {LIBNAMES}")
RuntimeError: ecCodes library not found using ['eccodes', 'libeccodes.so', 'libeccodes']

我的 python 版本是Python 3.8.2. 是否可以通过 cfgrib 安装pip

4

1 回答 1

1

PyPI的最新cfgrib版本 0.9.8.5没有声明eccodespyeccodes作为依赖项,甚至没有额外声明。您可以单独安装其中之一:

pip install eccodes

或者

pip install pyeccodes

(我不知道有什么区别;cfgrib可以同时使用)。

该错误已在存储库中修复,但尚未发布到 PyPI,因此您可以尝试使用以下命令安装最新版本git

pip install --upgrade "git+https://github.com/ecmwf/cfgrib.git#egg=cfgrib"
于 2021-02-28T15:07:02.000 回答