OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory

OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory

我知道这个问题已被问过几次,但无论我尝试了多少解决方案 运行,我仍然会遇到同样的错误。这是我得到的错误:

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-248-fdd700a1da8b> in <module>
      8 STOPLIST = set(list(text.ENGLISH_STOP_WORDS))
      9 KEEP_POS = {'ADJ', 'ADP', 'ADV', 'NOUN', 'VERB'}
---> 10 nlp = spacy.load('en_core_web_sm')
     11 
     12 def scrubbing_text(reviews):

~/opt/anaconda3/lib/python3.8/site-packages/spacy/__init__.py in load(name, disable, exclude, config)
     45     RETURNS (Language): The loaded nlp object.
     46     """
---> 47     return util.load_model(name, disable=disable, exclude=exclude, config=config)
     48 
     49 

~/opt/anaconda3/lib/python3.8/site-packages/spacy/util.py in load_model(name, vocab, disable, exclude, config)
    327     if name in OLD_MODEL_SHORTCUTS:
    328         raise IOError(Errors.E941.format(name=name, full=OLD_MODEL_SHORTCUTS[name]))
--> 329     raise IOError(Errors.E050.format(name=name))
    330 
    331 

OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory.

我在 mac 上使用 Anaconda。我可以在左侧看到 spaCy 文件夹,但由于某种原因它不起作用。请帮助:(

如果您使用的是 anaconda,则需要在下载 en_core_web_sm 模型之前激活您的 conda 环境。

  1. 如果你没有anaconda环境,先运行 conda create -n $envName,用你想要的名字替换$envName

  2. 使用 conda activate $envName 激活您的环境(同样,将变量替换为您在步骤 1 中输入的任何内容。

  3. 然后用conda install spacy安装spacy。

  4. 最后,运行 python -m spacy download en_core_web_sm.

现在,当您导入 spacy 并尝试加载模型时,它应该可以工作。