2017-01-25 63 views
1

(MAC OS X 10.12.2)問題Spacy安裝英語模型Python3

所以,當我運行這兩條線:

pip install spacy 
python -m spacy.en.download all 

它的正常使用,我可以使用spacy與英文模型在python(2.X)

但是當我運行相同的python3(3.6.0)

pip3 install spacy 
python3 -m spacy.en.download all 

它安裝空間,但我下載模型時出錯。所以,當我再python3使用spacy它不工作,我得到了空字段,而不是POS機,標籤...

我得到都跟urllib的錯誤:

Downloading parsing model 
Traceback (most recent call last): 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1318, in do_open 
encode_chunked=req.has_header('Transfer-encoding')) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request 
self._send_request(method, url, body, headers, encode_chunked) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request 
self.endheaders(body, encode_chunked=encode_chunked) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders 
self._send_output(message_body, encode_chunked=encode_chunked) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output 
self.send(msg) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send 
self.connect() 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1400, in connect 
server_hostname=server_hostname) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket 
_context=self, _session=session) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__ 
self.do_handshake() 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake 
self._sslobj.do_handshake() 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake 
self._sslobj.do_handshake() 
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main 
"__main__", mod_spec) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code 
exec(code, run_globals) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/spacy/en/download.py", line 25, in <module> 
plac.call(main) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/plac_core.py", line 328, in call 
cmd, result = parser.consume(arglist) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/plac_core.py", line 207, in consume 
return cmd, self.func(*(args + varargs + extraopts), **kwargs) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/spacy/en/download.py", line 18, in main 
download('en', force=False, data_path=data_path) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/spacy/download.py", line 36, in download 
about.__models__.get(lang, lang), data_path) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sputnik/__init__.py", line 37, in install 
index.update() 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sputnik/index.py", line 84, in update 
index = json.load(session.open(request, 'utf8')) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sputnik/session.py", line 43, in open 
r = self.opener.open(request) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 526, in open 
response = self._open(req, data) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 544, in _open 
'_open', req) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 504, in _call_chain 
result = func(*args) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1361, in https_open 
context=self._context, check_hostname=self._check_hostname) 
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py", line 1320, in do_open 
raise URLError(err) 
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)> 

任何想法上該怎麼辦?

非常感謝! 歡呼

編輯:我問過關於Github上spacy庫的問題,以及顯然的唯一方法是複製/粘貼數據從python2.7到python3.6:

所以我已經複製/文件夾en-1.1.0/Users/[myname]/anaconda/lib/python2.7/site-packages/spacy/data 粘貼到/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/spacy/data/

,一切工作正常,可以在python3使用Spacy吧!

希望這將有助於其他

回答

0

由於我是新來的StackOverflow我不能發表評論或將此問題作爲一個可能的重複...
所以,作爲一個「正常」的答案:如this提到回答似乎有一個Mac OS的解決方案。希望這可以幫助!