python-nltk на Ubuntu 12.04 LTS: nltk.download ('коричневий') призводить до помилки HTML 401


9

Я встановив python-nltk на Ubuntu Server 12.04 за допомогою apt-get.

Але коли я намагаюся завантажити корпус, я отримую таку помилку:

$ 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/nltk/isissue/747
alvas

Це все ще проблема з Ubuntu 13.04
Tickon

Перегляньте це питання через довгий час та деякі оновлення системи: Проблема більше не існує з ubuntu 18.04 LTS
jk - Відновіть Моніку

Відповіді:


12

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()знову працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.