我正在关注nltk book的第一章。它要求我们通过运行nltk.dowwnload()
来安装图书语料库。
我在执行getattrinfo failed
时收到ntlk.download()
错误。在线阅读后,我发现这与我的代理有关。
所以我尝试以不同的方式设置代理(在密码中尝试http
或https
,%40
或@
):
nltk.set_proxy('http://proxy.mycompany.com:8080',('123456','password%40123'))
nltk.set_proxy('http://proxy.mycompany.com:8080',('123456','password@123'))
nltk.set_proxy('https://proxy.mycompany.com:8080',('123456','password%40123'))
nltk.set_proxy('https://proxy.mycompany.com:8080',('123456','password@123'))
(我能够成功设置pip
的代理并安装nltk
,但不确定我是否在nltk
代理的情况下犯了错误
然后我也尝试了
C:\Users\123456>python -m nltk.downloader all
[nltk_data] Error loading all: <urlopen error [Errno 11004]
[nltk_data] getaddrinfo failed>
Error installing package. Retry? [n/y/e]
接下来我试了
>>>nltk.download('book')
但是这也给出了同样的错误:
>>> nltk.download('book')
[nltk_data] Error loading book: <urlopen error [Errno 11004]
[nltk_data] getaddrinfo failed>
然后我也尝试按照建议here更改服务器索引网址,但没有用。还pre populated index is alive(我可以在浏览器中打开它),所以我想我不需要更改服务器索引URL。
答案 0 :(得分:0)
将nltk中的代理设置为:
nltk.set_proxy('http://proxy.example.com:80'('USERNAME','PASSWORD'))
您需要使用逗号分隔参数。正确的行应该是
nltk.set_proxy('http://proxy.example.com:80',('USERNAME','PASSWORD'))
这将正常工作。 它对我有用
>>> nltk.download('punkt')
[nltk_data] Downloading package punkt to
[nltk_data] C:\Users\uschauha\AppData\Roaming\nltk_data...
[nltk_data] Unzipping tokenizers\punkt.zip.
True