Ошибка компиляции кода C для пакета python hmmlearn
У меня возникли проблемы с получением hmmlearn
пакет для правильной установки (в виртуальной среде); похоже, что-то связано с базовым C-кодом. Пакет отлично устанавливается с pip
, но когда я пытаюсь импортировать основной класс, я получаю сообщение об ошибке:
In [1]: import hmmlearn
In [2]: from hmmlearn import hmm
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-8b8c029fb053> in <module>()
----> 1 from hmmlearn import hmm
/export/hdi3/home/krono/envs/sd/lib/python2.7/site-packages/hmmlearn/hmm.py in <module>()
19 from sklearn.utils import check_random_state
20
---> 21 from .base import _BaseHMM
22 from .utils import iter_from_X_lengths, normalize
23
/export/hdi3/home/krono/envs/sd/lib/python2.7/site-packages/hmmlearn/base.py in <module>()
11 from sklearn.utils.validation import check_is_fitted
12
---> 13 from . import _hmmc
14 from .utils import normalize, log_normalize, iter_from_X_lengths
15
ImportError: /export/hdi3/home/krono/envs/sd/lib/python2.7/site-packages/hmmlearn/_hmmc.so: undefined symbol: npy_expl
Я читал другие вопросы о SO, которые, кажется, относятся к этому, но одно решение (используйте Anaconda) не будет работать с тех пор hmmlearn
не входит Кажется, что ответ как-то связан с компиляцией кода на C, но я не уверен, как это сделать. Любая помощь приветствуется!
1 ответ
Я столкнулся с той же проблемой некоторое время назад и нашел решение, попробовав все возможное. По какой-то причине в некоторых случаях pip
пропускает сборку C-расширений, когда пакет сохраняется в каталоге кеша. Если вы заставляете pip
чтобы игнорировать кеш, он всегда собирает пакет с нуля, поэтому сначала нужно удалить пакет, а затем запустить pip install --no-cache-dir <package>