Python nltk下载和download_shell都在冻结(挂起)punkt尝试

时间:2014-01-17 20:05:45

标签: python nltk

使用NLTK 2.0.4。为EPD的Python-2.7.3安装( Canopy)。在Ubuntu 12.10上。在终端我输入:

In [96]: nltk.download_shell()
NLTK Downloader
---------------------------------------------------------------------------
    d) Download   l) List    u) Update   c) Config   h) Help   q) Quit
---------------------------------------------------------------------------
Downloader> d

Download which package (l=list; x=cancel)?
  Identifier> punkt
    Downloading package 'punkt' to /home/espears/nltk_data...

然后冻结了。相关的punkt.zip文件被写入指定的目录,但download接口永远不会放弃。

这个例子是使用IPython的,但我尝试使用常规的Python 2.7.3解释器,并得到了相同的结果。

当我尝试使用unzip直接解压缩文件时,我发现错误表示在文件中找不到正确的中央zip文件代码并且无法解压缩。见下文:

espears@computer ~/nltk_data/tokenizers $ unzip punkt.zip 
Archive:  punkt.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of punkt.zip or
        punkt.zip.zip, and cannot find punkt.zip.ZIP, period.

nltk.download()nltk.download_shell()以同样的方式发生这种情况。

我可以使用du检查.zip文件,看看最初它的大小从0 MB增加到大约2.7 MB,所以实际上它正在下载一些文件并非空。但它停止在2.7 MB(可能或可能不对应于文件的预期完整大小),然后Python shell下载程序冻结。

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,并从以下链接手动下载了必要的项目:

http://nltk.org/nltk_data/

不是理想的解决方案,但在修复之前一直有效。

更新:

我实际上能够运行nltk.download()来安装cmudict。也许这个问题只影响某些包裹?

答案 1 :(得分:0)

我遇到了与nltk 3.0.01b相同的问题。我下载了“book”软件包,并从任务管理器的网络显示中监控下载,同时检查目标文件夹的大小(我的Windows 7系统上的AppData \ Roaming \ nltk_data)。网络流量停止,文件夹停止增长,大小为379 MB。但是Python shell被锁定了。以下是显示的最后一条消息:

  

显示信息http://nltk.github.com/nltk_data/

但是,如果您取消显示可用下载项的Tk窗口,nltk.download()命令将终止,shell提示将返回。

答案 2 :(得分:0)

最有可能的是它没有卡住。它可能正在下载。即使您拥有良好的互联网连接,它的下载速度也会慢得多。我一直使用while循环检查文件夹大小,然后慢慢地继续增加并最终成功。如果你等了就行了。解压缩可能失败了,因为您尝试在下载整个文件之前解压缩。