Проблема с загрузкой spacy.load ('en_core_web_md') - PullRequest
0 голосов
/ 20 апреля 2020

Я установил в anaconda пакеты, показанные ниже:

  • spacy 2.2.2
  • spacy-model-en_core_web_md 2.2.5
  • spacy-model-en_core_web_sm 2.2.5
  • python 3.6.2

Указанные выше пакеты были установлены в conda с помощью команд, показанных ниже:

  • установка conda - c conda-forge spacy = 2.2.2
  • установка conda - c conda-forge spacy-model-en_core_web_sm
  • conda установить - c conda-forge spacy-model-en_core_web_md

Когда я загружаю en_core_web_md и en_core_web_sm, я получаю сообщение об ошибке, показанное ниже:

  • Пространство импорта

  • Импортировать en_core_web_sm

  • nlp = spacy.load ('en_core_web_sm')

Error message:
-> ---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-39-d6345e302427> in <module>
      1 import spacy
      2 import en_core_web_sm
----> 3 nlp = spacy.load('en_core_web_sm')
      4 
      5 #import en_core_web_sm

~\anaconda3\envs\ADS99\lib\site-packages\spacy\__init__.py in load(name, **overrides)
     17 from . import util
     18 from .util import register_architecture, get_architecture
---> 19 from .language import component
     20 
     21 

~\anaconda3\envs\ADS99\lib\site-packages\spacy\util.py in load_model(name, **overrides)
    117 
    118     path (unicode or Path): Path to new data directory.
--> 119     """
    120     global _data_path
    121     _data_path = ensure_path(path)

OSError: Can't find model 'en_core_web_sm'

Я попробовал другой способ загрузки en_core_web_sm, но снова я получил другую ошибку:

  • import spacy
  • import en_core_web_sm
  • nlp = en_core_web_sm.load ()
Error message:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-40-9427d7caa44a> in <module>
      1 import spacy
      2 import en_core_web_sm
----> 3 nlp = en_core_web_sm.load()
      4 
      5 

~\anaconda3\envs\ADS99\lib\site-packages\en_core_web_sm\__init__.py in load(**overrides)
     10 
     11 def load(**overrides):
---> 12     return load_model_from_init_py(__file__, **overrides)

~\anaconda3\envs\ADS99\lib\site-packages\spacy\util.py in load_model_from_init_py(init_file, **overrides)
    174         return Path(path)
    175     else:
--> 176         return path
    177 
    178 

~\anaconda3\envs\ADS99\lib\site-packages\spacy\util.py in load_model_from_path(model_path, meta, **overrides)
    143 
    144 
--> 145 def make_layer(arch_config):
    146     arch_func = get_architecture(arch_config["arch"])
    147     return arch_func(arch_config["config"])

~\anaconda3\envs\ADS99\lib\site-packages\spacy\util.py in get_lang_class(lang)
     47 
     48     factories = "spacy_factories"
---> 49     languages = "spacy_languages"
     50     displacy_colors = "spacy_displacy_colors"
     51     lookups = "spacy_lookups"

~\anaconda3\envs\ADS99\lib\importlib\__init__.py in import_module(name, package)
    124                 break
    125             level += 1
--> 126     return _bootstrap._gcd_import(name[level:], package, level)
    127 
    128 

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap.py in _gcd_import(name, package, level)

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap.py in _find_and_load(name, import_)

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap.py in _find_and_load_unlocked(name, import_)

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap.py in _load_unlocked(spec)

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap_external.py in exec_module(self, module)

~\anaconda3\envs\ADS99\lib\importlib\_bootstrap.py in _call_with_frames_removed(f, *args, **kwds)

~\anaconda3\envs\ADS99\lib\site-packages\spacy\lang\en\__init__.py in <module>
     12 from ..tokenizer_exceptions import BASE_EXCEPTIONS
     13 from ..norm_exceptions import BASE_NORMS
---> 14 from ...language import Language
     15 from ...attrs import LANG, NORM
     16 from ...util import update_exc, add_lookups

~\anaconda3\envs\ADS99\lib\site-packages\spacy\language.py in <module>
     18 from .vocab import Vocab
     19 from .lemmatizer import Lemmatizer
---> 20 from .lookups import Lookups
     21 from .analysis import analyze_pipes, analyze_all_pipes, validate_attrs
     22 from .compat import izip, basestring_, is_python2, class_types

~\anaconda3\envs\ADS99\lib\site-packages\spacy\lookups.py in <module>
      4 import srsly
      5 from collections import OrderedDict
----> 6 from preshed.bloom import BloomFilter
      7 
      8 from .errors import Errors

bloom.pyx in init preshed.bloom()

AttributeError: type object 'preshed.bloom.BloomFilter' has no attribute '__reduce_cython__'

Если кто-то может дать мне какой-нибудь намек на то, как эта проблема может быть исправлена, я был бы очень благодарен.

1 Ответ

0 голосов
/ 20 апреля 2020

Версия Python, которую вы используете для установки модели en_core_web_sm, совпадает с версией Python, которую вы используете для использования модели? В противном случае может случиться так, что модель SpaCy не может быть найдена вашим приложением, поскольку она установлена ​​в другой версии Python.

Это можно легко проверить, выполнив следующие тесты:

Из консоли:

python --version

Из вашего кода:

import sys
print(sys.version)
...