Невозможно импортировать cfgrib

Всякий раз, когда я пытаюсь импортировать cfgrib, он выдает ошибку времени выполнения, что он не может загрузить библиотеку ecCodes

      import cfgrib

Вот полное сообщение об ошибке

      RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_6224/857012844.py in <module>
----> 1 import cfgrib

~/.local/lib/python3.8/site-packages/cfgrib/__init__.py in <module>
     17 
     18 # cfgrib core API depends on the ECMWF ecCodes C-library only
---> 19 from .cfmessage import CfMessage
     20 from .dataset import Dataset, DatasetBuildError, open_file, open_fileindex
     21 from .messages import FileStream, Message

~/.local/lib/python3.8/site-packages/cfgrib/cfmessage.py in <module>
     27 import numpy as np
     28 
---> 29 from . import abc, messages
     30 
     31 LOG = logging.getLogger(__name__)

~/.local/lib/python3.8/site-packages/cfgrib/messages.py in <module>
     26 
     27 import attr
---> 28 import eccodes  # type: ignore
     29 import numpy as np
     30 

~/.local/lib/python3.8/site-packages/eccodes/__init__.py in <module>
     13 import sys
     14 
---> 15 from .eccodes import *
     16 from .eccodes import __version__
     17 from .eccodes import bindings_version

~/.local/lib/python3.8/site-packages/eccodes/eccodes.py in <module>
     10 #
     11 #
---> 12 from gribapi import __version__
     13 from gribapi import bindings_version
     14 

~/.local/lib/python3.8/site-packages/gribapi/__init__.py in <module>
     11 #
     12 
---> 13 from .gribapi import *  # noqa
     14 from .gribapi import __version__
     15 from .gribapi import bindings_version

~/.local/lib/python3.8/site-packages/gribapi/gribapi.py in <module>
   2226 
   2227 
-> 2228 __version__ = grib_get_api_version()
   2229 
   2230 

~/.local/lib/python3.8/site-packages/gribapi/gribapi.py in grib_get_api_version()
   2216 
   2217     if not lib:
-> 2218         raise RuntimeError("Could not load the ecCodes library!")
   2219 
   2220     v = lib.grib_get_api_version()

RuntimeError: Could not load the ecCodes library!

Я установил cfgrib и ecCodes через pip

      cfgrib                 0.9.9.1             
eccodes                1.4.0               
eccodes-python         0.9.9

1 ответ

Как указано в pypi (https://pypi.org/project/eccodes/), пакет eccodes python опирается на системную библиотеку eccodes. Судя по сообщению об ошибке, он у вас не установлен.

Вероятно, проще всего установить его с помощью conda:

      conda install -c conda-forge eccodes
Другие вопросы по тегам