问题背景
本来开开心心希望用Spacy的en_core_web_sm
spacy.load("en_core_web_sm")
结果人家是需要装的,不是你有了spacy就万事大吉的,于是出现以下报错:
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.
于是我想直接下载,但是直接下这么下是不行的!!!
python -m spacy download en_core_web_sm
解决办法
-
手动下载en_core_web_sm
(最新版en_core_web_sm包在这里:https://github.com/explosion/spacy-models/releases/tag/en_core_web_sm-2.3.0) -
找到这个gz压缩包所在的目录
-
cmd来到该目录下
不会的话看我之前这篇,有讲!pip及ensurepip缺失处理办法,以及window下pip安装办法) -
在这个目录下输入
pip install en_core_web_sm-2.3.0.tar.gz
- 然后可能提示你Error: encoding problem: utf8
File "setup.py", line 2
SyntaxError: encoding problem: utf8
原因是,需要把setup.py文件中的utf8改成utf-8
也就是说,需要打开setup.py,把这个:
#!/usr/bin/env python
#coding: utf8
改成下面这个:
#!/usr/bin/env python
#coding: utf-8
最后再调用一下试试,成功啦~
spacy.load("en_core_web_sm")
就这样~