Ubuntu 12.04 LTS上的python-nltk:nltk.download('brown')导致HTML错误401


9

我已经使用apt-get在Ubuntu Server 12.04上安装了python-nltk。

但是,当我尝试下载语料库时,出现以下错误:

$ 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 2014年

这仍然是Ubuntu 13.04的问题
Tickon 2014年

经过很长时间和一些系统升级后,重新考虑此问题:ubuntu 18.04 LTS
jk

Answers:


12

DEFAULT_URL所使用downloader.py的Ubuntu的打包版本仍然使用:

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()再次工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.