python-nltk trên Ubuntu 12.04 LTS: nltk.doad ('brown') dẫn đến lỗi HTML 401


9

Tôi đã cài đặt python-nltk trên Ubuntu Server 12.04 bằng apt-get.

Nhưng khi tôi cố tải xuống một kho văn bản, tôi gặp phải lỗi sau:

$ 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

Tôi có thiếu một số cấu hình hoặc gói bổ sung?


Bạn có thể thử cài đặt từ nguồn wget https://github.com/nltk/nltk/archive/develop.zip; unzip develop.zip; cd nltk-develop; python setup.py install. Nhưng một vấn đề đã được nêu ra trong github.com/nltk/nltk/issues/747
alvas

Đây vẫn là một vấn đề với Ubuntu 13.04
Tickon

Xem lại câu hỏi này sau một thời gian dài và một số nâng cấp hệ thống: Vấn đề không còn nữa với ubfox 18.04 LTS
jk - Tái lập Monica

Câu trả lời:


12

Phiên bản DEFAULT_URLđược sử dụng trong downloader.pyUbuntu vẫn sử dụng:

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

Nhưng máy chủ dữ liệu hiện tại là:

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

Tất nhiên bạn có thể cài đặt từ nguồn hoặc ... sửa đổi phiên bản đã cài đặt của mình để trỏ đến máy chủ mới như thế này:

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

Sau đó, bạn có thể cài đặt kho văn bản "nâu":

$ 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

Có thể sửa lỗi này mà không thay đổi mã nguồn. Tạo một trình tải xuống tùy chỉnh trong python:

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

sau đó bạn mở hộp thoại GUI:

>>> dl.download()

Kiểm tra xem bạn có quyền truy cập ghi vào thư mục tải xuống và tải xuống những gì bạn cần.


0
pip install nltk --upgrade

Cái này cập nhật nltk và sau đó nltk.download()hoạt động trở lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.