python-nltk บน Ubuntu 12.04 LTS: nltk.download ('brown') ส่งผลให้เกิดข้อผิดพลาด 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/issues/747
alvas

ยังคงเป็นปัญหากับ Ubuntu 13.04
Tickon

มาถึงคำถามนี้อีกครั้งหลังจากผ่านไปนานและมีการอัพเกรดระบบ: ปัญหาไม่ได้อยู่ที่นั่นกับ Ubuntu 18.04 LTS
jk - Reinstate Monica

คำตอบ:


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

สามารถแก้ไขได้โดยไม่ต้องเปลี่ยนซอร์สโค้ด สร้างเครื่องมือดาวน์โหลดที่กำหนดเองในหลาม:

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

จากนั้นคุณเปิดกล่องโต้ตอบ GUI:

>>> dl.download()

ตรวจสอบว่าคุณมีสิทธิ์ในการเขียนในไดเรกทอรีดาวน์โหลดและดาวน์โหลดสิ่งที่คุณต้องการ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.