python-nltk sur Ubuntu 12.04 LTS: nltk.download ('brown') entraîne une erreur HTML 401

9

J'ai installé python-nltk sur Ubuntu Server 12.04 en utilisant apt-get.

Mais lorsque j'essaie de télécharger un corpus, j'obtiens l'erreur suivante:

$ 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

Suis-je en train de manquer une configuration ou un package supplémentaire?

jk - Réintégrer Monica
la source
Vous pouvez essayer d'installer depuis la source wget https://github.com/nltk/nltk/archive/develop.zip; unzip develop.zip; cd nltk-develop; python setup.py install. Mais un problème a été soulevé dans github.com/nltk/nltk/issues/747
alvas
C'est toujours un problème avec Ubuntu 13.04
Tickon
Revisiter cette question après un long moment et quelques mises à niveau du système: le problème n'est plus là avec ubuntu 18.04 LTS
jk - Reinstate Monica

Réponses:

12

L' DEFAULT_URLutilisé dans downloader.pyde la version emballée d'Ubuntu utilise toujours:

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

Mais le serveur de données actuel est:

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

Vous pouvez bien sûr installer depuis la source ou ... modifier votre version déjà installée pour pointer vers le nouveau serveur comme ceci:

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

Vous pouvez ensuite installer le corpus "marron":

$ 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
la source
12

Il est possible de corriger cela sans changer le code source. Créez un téléchargeur personnalisé en python:

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

puis vous ouvrez une boîte de dialogue GUI:

>>> dl.download()

Vérifiez que vous disposez d'un accès en écriture au répertoire de téléchargement et téléchargez ce dont vous avez besoin.

Logic Knight
la source
0
pip install nltk --upgrade

Celui-ci met à jour le nltk et nltk.download()fonctionne à nouveau.

machineo
la source