web-dev-qa-db-ja.com

nltk.download()パスディレクトリをデフォルトの〜/ ntlk_dataから変更します

コンピューティングサーバーでpython nltkパッケージをダウンロード/更新しようとして、この[Errno 122] Disk quota exceeded:エラー。

具体的には:

[nltk_data] Downloading package stop words to /home/sh2264/nltk_data...
[nltk_data] Error downloading u'stopwords' from
[nltk_data] <https://raw.githubusercontent.com/nltk/nltk_data/gh-
[nltk_data] pages/packages/corpora/stopwords.Zip>: [Errno 122]
[nltk_data] Disk quota exceeded:
[nltk_data] u'/home/sh2264/nltk_data/corpora/stopwords.Zip
False

nltkパッケージのパス全体をどのように変更できますか。また、nltkをエラーなしでロードするには、他にどのような変更が必要ですか。

14
shenglih

これはコマンドライン(nltk.download(..., download_dir=)またはGUIの両方で設定できます。奇妙なことに、nltkは独自の環境変数NLTK_DATAを完全に無視し、ダウンロードディレクトリをデフォルトの5つのパスのセットにデフォルト設定しますNLTK_DATAが定義されているかどうか、ポイントされている場所、およびnltkの5つのデフォルトディレクトリがマシンまたはアーキテクチャ上に存在するかどうかに関係なく(!)。その一部は NLTKデータのインストール 不完全で、やや埋もれています;はるかに明確なフォーマットで以下に再現します:

コマンドラインインストール

ダウンローダーは、既存のnltk_dataディレクトリを検索して、NLTKデータをインストールします。存在しない場合は、中央の場所(管理者アカウントを使用している場合)またはユーザーのファイルスペースに作成しようとします。必要に応じて、管理者アカウントからダウンロードコマンドを実行するか、Sudoを使用します。推奨されるシステムの場所は次のとおりです。

  • C:\nltk_data(Windows);
  • /usr/local/share/nltk_data(Mac)および
  • /usr/share/nltk_data(Unix)。

-dフラグを使用して別の場所を指定できます(ただし、これを行う場合は、NLTK_DATA環境変数を必ず設定してください)。

  • コマンドpython -m nltk.downloader allを実行します

  • 中央インストールを確実にするには、次のコマンドを実行します:Sudo python -m nltk.downloader -d /usr/local/share/nltk_data all

  • しかし、彼らは本当に言うべきです:Sudo python -m nltk.downloader -d $NLTK_DATA all

NLTK_DATAが使用する推奨パスについては、nltkは実際には適切なガイダンスを提供しませんが、インストールされていない一般的なスタンドアロンパスでなければなりませんツリー(<python-install-directory>/lib/site-packagesの下ではない)またはユーザーディレクトリ。したがって、/usr/local/share/opt/share、または同様のもの。 MacOS 10.7+では、/usr、したがって/usr/local/がデフォルトで非表示になっているため、/opt/shareの方が適切な選択になる可能性があります。または、chflags nohidden /usr/local/shareを実行します。

9
smci

ドキュメント によると:

デフォルトでは、パッケージはシステム全体のディレクトリ(Pythonに書き込むための十分なアクセス権がある場合);または現在のユーザーのホームディレクトリにインストールされます。ただし、download_dir引数は使用できます。必要に応じて、異なるインストールターゲットを指定します。

ダウンロードディレクトリを指定するには、たとえば次を使用します。

nltk.download('treebank', download_dir='/mnt/data/treebank')
13
Ortomala Lokni

nltk.download_Shell()を使用して、以下に示すようにインタラクティブな手順を実行することもできます。

enter image description here

また、nltk.data.path.append('/your/new/data/directory/path')を使用して、nltkに新しいデータパスからデータをロードするように指示します。

0
webstruck

NLTK Download GUI Screeshot (Windows)

NLTK GUIはPyCharm Community Editionから起動できますPythonコンソールも。2つのコマンドを発行するだけです:

1)nltkをインポート

2)nltk.download_gui()

ただし、コンソールでプロキシサーバーを使用している場合、nltk GUIは機能しません。最初にプロキシ設定を設定する必要があります

SET HTTP_PROXY = proxy.mycompany.com:8080

そして、それは動作します。

0
Rahul Saini