python-nltk na Ubuntu 12.04 LTS: nltk.download ('brązowy') powoduje błąd HTML 401

9

Zainstalowałem python-nltk na Ubuntu Server 12.04 za pomocą apt-get.

Ale kiedy próbuję pobrać korpus, pojawia się następujący błąd:

$ 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

Czy brakuje mi konfiguracji lub dodatkowego pakietu?

jk - Przywróć Monikę
źródło
Możesz spróbować zainstalować ze źródła wget https://github.com/nltk/nltk/archive/develop.zip; unzip develop.zip; cd nltk-develop; python setup.py install. Ale problem został podniesiony w github.com/nltk/nltk/issues/747
alvas
To wciąż problem z Ubuntu 13.04
Tickon
Powracając do tego pytania po długim czasie i niektórych uaktualnieniach systemu: Problem nie występuje już w Ubuntu 18.04 LTS
JK - Przywróć Monikę

Odpowiedzi:

12

Zastosowane DEFAULT_URLw wersji downloader.pypakietu Ubuntu nadal używa:

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

Ale obecny serwer danych to:

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

Możesz oczywiście zainstalować ze źródła lub ... zmodyfikować już zainstalowaną wersję, aby wskazywała na nowy serwer w następujący sposób:

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

Następnie możesz zainstalować „brązowy” korpus:

$ 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', ...]
>>> 
Sylvain Pineau
źródło
12

Można to naprawić bez zmiany kodu źródłowego. Utwórz niestandardowy program do pobierania w Pythonie:

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

następnie otworzysz okno dialogowe GUI:

>>> dl.download()

Sprawdź, czy masz dostęp do zapisu w katalogu pobierania i pobierz to, czego potrzebujesz.

Logic Knight
źródło
0
pip install nltk --upgrade

Ten aktualizuje nltk, a następnie nltk.download()działa ponownie.

Machineo
źródło