OSError:[E050]找不到模型“en_core_web_sm”。它似乎不是快捷方式链接、Python 包或数据目录的有效路径

Ado*_*ble 10 python anaconda spacy oserror

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

---------------------------------------------------------------------------
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.
Run Code Online (Sandbox Code Playgroud)

我在 Mac 上使用 Anaconda。我可以在左侧看到 spaCy 文件夹,但由于某种原因它无法工作。请帮忙 :(

Ray*_*hns 16

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

  1. 如果您没有 anaconda 环境,请首先运行conda create -n $envName,替换$envName为您想要的任何名称。

  2. 使用以下命令激活您的环境conda activate $envName(再次将变量替换为您在步骤 1 中输入的内容。

  3. 然后安装 spacy conda install spacy

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

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