我正在尝试将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
。是否可以通过pip
安装cfgrib ?
PyPI最新发布的cfgrib
版本0.9.8.5没有将eccodes
或pyeccodes
声明为依赖项,甚至不是额外的。您可以单独安装其中一个:
pip install eccodes
或
pip install pyeccodes
(我不知道有什么区别;cfgrib
可以同时使用).
这个错误已经在仓库中修复了,但还没有发布到PyPI,所以你可以尝试使用git
安装最新版本:
pip install --upgrade "git+https://github.com/ecmwf/cfgrib.git#egg=cfgrib"