设置ntlk代理

时间:2018-03-06 12:29:07

标签: python python-3.x nlp nltk nltk-book

我正在关注nltk book的第一章。它要求我们通过运行nltk.dowwnload()来安装图书语料库。

我在执行getattrinfo failed时收到ntlk.download()错误。在线阅读后,我发现这与我的代理有关。

enter image description here

所以我尝试以不同的方式设置代理(在密码中尝试httphttps%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。

1 个答案:

答案 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
相关问题