记录spacy安装英文包en出现E11004问题的解决方案
最近在学习nlp+pytorch时,需要下载一个spacy库以及英文包en,spcay库使用conda安装没有问题,命令在spacy官方就可以很容易找到。但是安装en包时,出现E11004的错误 Failed to establish a new connection: [Errno 11004] getaddrinfo failed. 问题的描述在 E11004给出。但是并没有在该页面找到解决方案。困扰了我半天时间,现给出我自己的解决方案(可能不具备普适性,但我想这里会出现E11004问题的应该不多):
1.无法下载en包,就去spacy-model 离线包下载离线包,选择自己想要的语言,类型,已经与spacy对应的版本下载离线包。
2.下载完了以后,在pycharm里面terminal使用pip install 安装下载好的包。安装完了以后会发现:
使用
nlp = spacy.load('en_core_web_sm') #测试是否安装成功
print(nlp)
如果出现的是内存位置,说明可以导入了。
3.本人的电脑上,第二步结束以后还不够:如果这时直接开始写代码,pycharm会报错E050:Can’t find model ‘en’. It doesn’t seem to be a shortcut link。个人猜想spacy包的内部代码可能还是用‘en’引用这个包,也就是说我们还需要把下载的en_core_web_sm包链接上en。这里其他博客有说再用conda运行一次下载命令的python -m spacy download en
或者是建立链接的:python -m spacy link en_core_web_sm en
的解决方法,但是我的电脑使用前者又会报E11004的错误,而使用后者会要么报没有权限你没有足够的权限执行此操作。 ✘ Couldn't link model to 'en' Creating a symlink