3

我有一个全新安装的 Fedora 16 系统。我已经安装了 nltk 并开始下载语料库。正如下面的消息所示,我遇到了某种与 TclError 相关的问题。我环顾四周,似乎找不到其他有这个问题的人。

>>> import nltk
>>> nltk.download()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/nltk-2.0.1-py2.7.egg/nltk/downloader.py", line 643, in download
    self._interactive_download()
  File "/usr/lib/python2.7/site-packages/nltk-2.0.1-py2.7.egg/nltk/downloader.py", line 956, in _interactive_download
    except TclError:
NameError: global name 'TclError' is not defined

任何人都可以帮忙吗?

4

2 回答 2

1

TclError是由 Tkinter 模块 IIRC 定义的 Python 异常;Tcl 本身不会生成它(实际上,从 Tcl 的角度来看,它实际上是没有意义的)。您是否尝试过导入 Tkinter?

于 2012-05-29T08:22:54.343 回答
1

我似乎已经解决了我遇到的问题。我有两个相同的系统设置,但在安装 NLTK 时采用了两种略有不同的方法,一种产生了我最初发布的错误,另一种没有。我还没弄清楚为什么。当我设置非工作系统时,我:

1.) yum install nltk*
2.) easy_install pyyaml
3.) python
4.) >>> import nltk
5.) >>> nltk.download()
6.) got the error 

基于一些尝试,我确定 Fedora 16 yum repo 2.0.1 版本中提供的 NLTK 版本没有编译 libyaml 支持,并且与 pip 提供的 pyyaml 版本不兼容。

我重新开始并删除了所有内容并遵循以下过程:

1.) yum install libyaml libyaml-devel
2.) easy_install pyyaml
3.) easy_install nltk
4.) python
5.) import nltk
6.) nltk.download()
7.) download corpus'

我已经向 Fedora 提交了一个错误报告,让他们知道 repos 中提供的 NLTK 版本存在问题。

于 2012-05-29T14:28:53.560 回答