【nltk】nltk.download()するときにproxyを使う

Tips

目的

標題そのまま。

nltk.download(‘all’)しようと思ったら、外に出ていくためのルートがないって怒られたので。

 

トライ&エラー

実施コマンド

$ python3
>>> import nltk
>>> nltk.download('all')

いろいろ調べてみると、こんな感じでダウンロードしてね、とのことなのでコピペして実行した

 

出力エラー

[nltk_data] Error loading all: <urlopen error [Errno 113] No route to host
False

外に出てくためのルートがないって怒られた。

デフォルトGWであるスイッチが外に出ていけないので、それはそうである。

ので、Proxy経由で実施することにした。

 

解決策

コード

以下のpythonプログラムを書いて実行した。

import os
import nltk

os.environ["http_proxy"] = "http://xxx.xxx.xxx.xxx:xxxx"
os.environ["https_proxy"] = "http://xxx.xxx.xxx.xxx:xxxx"

nltk.download('all')

 

出力結果

[nltk_data] Downloading collection 'all'
[nltk_data] |
[nltk_data] | Downloading package abc to /home/ando/nltk_data…
~以下略~

 

まとめ

  • os.environで環境変数にproxy指定するとよい
  • でもたぶんもっと他にいいやり方がある

コメント

タイトルとURLをコピーしました