Ubuntu 12.04 LTSのpython-nltk:nltk.download( 'brown')の結果HTMLエラー401


9

apt-getを使用してUbuntu Server 12.04にpython-nltkをインストールしました。

しかし、コーパスをダウンロードしようとすると、次のエラーが発生します。

$ python
Python 2.7.3 (default, Feb 27 2014, 19:58:35)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download('brown')
[nltk_data] Error loading brown: HTTP Error 401: Authorization
[nltk_data]     Required
False

一部の構成または追加のパッケージが不足していますか?


ソースからインストールしてみてくださいwget https://github.com/nltk/nltk/archive/develop.zip; unzip develop.zip; cd nltk-develop; python setup.py install。しかし、github.com
nltk /

これはまだUbuntu 13.04の問題です
Tickon

久しぶりにいくつかのシステムアップグレードを行った後、この質問を再訪します。ubuntu18.04 LTS
jk-Reinstate Monica

回答:


12

UbuntuのパッケージバージョンのでDEFAULT_URL使用されているものdownloader.pyは、次のものを使用しています。

DEFAULT_URL = 'http://nltk.googlecode.com/svn/trunk/nltk_data/index.xml'

しかし、現在のデータサーバーは次のとおりです。

DEFAULT_URL = "http://nltk.github.com/nltk_data/"

もちろん、ソースからインストールすることもできますし、すでにインストールされているバージョンを変更して、次のように新しいサーバーを指すようにすることもできます。

 sudo perl -pi -e 's#DEFAULT_URL = .*#DEFAULT_URL = "http://nltk.github.com/nltk_data/"#' /usr/lib/python2.7/dist-packages/nltk/downloader.py

次に、「茶色」のコーパスをインストールできます。

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
>>> nltk.download('brown')
[nltk_data] Downloading package 'brown' to /home/sylvain/nltk_data...
[nltk_data]   Unzipping corpora/brown.zip.
True
>>> from nltk.corpus import brown
>>> brown.words()
['The', 'Fulton', 'County', 'Grand', 'Jury', 'said', ...]
>>> 

12

ソースコードを変更せずにこれを修正することが可能です。Pythonでカスタムダウンローダーを作成します。

>>> dl = nltk.downloader.Downloader("http://nltk.github.com/nltk_data/")

次に、GUIダイアログを開きます。

>>> dl.download()

ダウンロードディレクトリへの書き込みアクセス権があることを確認し、必要なものをダウンロードします。


0
pip install nltk --upgrade

これはnltkを更新してからnltk.download()再び機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.