项目场景:
ubuntu系统下,在anaconda创建的pytorch环境中,安装spacy库。
问题及解决方案:
#######################################################
问题一:下载过程慢、下载失败。
下载及安装可以使用命令:
pip install spacy
python -m spacy download en_core_web_sm
但实际上,第一行可以安装成功,但第二行会出现连接失败等各种错误,官网上给出的命令完全不考虑,经过反复尝试,放弃在线安装,使用离线安装的方式。
解决方案
下载需要的文件
en_core_web_md-2.2.5.tar
链接:https://pan.baidu.com/s/1zWLDr0YGOcMKjx0P1TizlQ
提取码:0xim
en_core_web_sm-2.2.5.tar
链接:https://pan.baidu.com/s/1yjCn2vN7qwzS8eTez2ocsA
提取码:f5u5
无需解压,直接安装这两个压缩包即可。但需要注意,这里安装的版本是2.2.5,此前安装的spacy版本如果不一致,会出现错误,可以将其uninstall掉,再重新install一个对应版本的spacy。我尝试了2.2.4版本的spacy,应该2.X版本都是可以使用的。
下载完成后,再使用命令安装即可(注意要给出压缩包所在地址):
pip install /home/wbx/en_core_web_sm-2.2.5.tar.gz
pip install /home/wbx/en_core_web_md-2.2.5.tar.gz
#######################################################
问题二:安装完成后仍然无法load(‘en’),出现错误如下
OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
原因似乎是在调用时的名字不是en,而应该用其他的。如果我们使用load(‘en_core_web_sm ’),实际上是可以运行成功的,这里给出一种解决方法,参考https://zhuanlan.zhihu.com/p/267905406
解决方案
在命令行使用:
spacy link en_core_web_sm en