一、问题
初次导入spacy的英语模型时报错:
Traceback (most recent call last):
File "... ...", line 12, in <module>
en_nlp = spacy.load('en')
File "D:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\spacy\__init__.py", line 30, in load
return util.load_model(name, **overrides)
File "D:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\spacy\util.py", line 175, in load_model
raise IOError(Errors.E050.format(name=name))
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.
这个模型没有随着spacy下载而下载,因而需要单独下载
书中建议:
python3 -m spacy download en
但是遇到这个错误:
Traceback (most recent call last):
File "C:\Users\lenovo\AppData\Roaming\Python\Python37\site-packages\urllib3\contrib\pyopenssl.py", line 456, in wrap_socket
cnx.do_handshake()
File "D:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\OpenSSL\SSL.py", line 1934, in do_handshake
self._raise_ssl_error(self._ssl, result)
File "D:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\OpenSSL\SSL.py", line 1663, in _raise_ssl_error
raise SysCallError(errno, errorcode.get(errno))
OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')
SSL验证失败
二、方法
找到spacy中的download.py这个文件
第一步:找到spacy这个包
第二步找到cli这个模块
第三步:在cli模块中找到download.py这个文件
第四步:修改download.py中第95行的源码,增加verify=False,跳过验证
三、下载成功
导入不报错