完整的错误日志如下:
[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.
这个错误的原因是电脑上找不到en_core_web_sm这个包。
导致这个错误的原因有两个:
- 没有安装这个包
- 安装了,但是还是提示找不到
针对第一个原因,有以下几种解决方案:
第一种,按照官方文档(这个方法,国内貌似不行)方法:
python -m spacy download en_core_web_sm
第二种,conda命令配置(官方文档):
conda install -c conda-forge spacy-model-en_core_web_sm
第三种,pip本地安装(参考)
pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz
针对第二个原因,
现在我们已经安装好了,但是在jupyter
上还是显示找不到这个模块怎么办?我当初也是因为这个原因去找的各种教程。
解决办法:ctrl+c
断掉jupyter
进程,然后重启就好了。
运行:
import spacy
nlp = spacy.load("en_core_web_sm")
或者
import en_core_web_sm
nlp = en_core_web_sm.load()
当然,如果你是在使用 en_core_web_md
或者en_core_web_lg
遇到的问题,以上解决方案同样适用