-1

最近我正在学习在 Windows 7 上使用 nltk。我为 Python 2.7 安装了 Python2.7 和 NumPy1.6.2 以及 matplotlib 1.3.0。但是当我尝试运行以下代码时,它就无法工作(第一行工作正常):

from nltk.book import *
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

代码来自《Natural Languages Processing with Python 》一书。错误信息如下:

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
  File "D:\Program Files\Python27\lib\site-packages\nltk\text.py", line 456, in dispersion_plot
    dispersion_plot(self, words)
  File "D:\Program Files\Python27\lib\site-packages\nltk\draw\dispersion.py", line 27, in dispersion_plot
    raise ValueError('The plot function requires the matplotlib package (aka pylab).'
ValueError: The plot function requires the matplotlib package (aka pylab).See http://matplotlib.sourceforge.net/

我怎样才能让它正常工作?非常感谢。

4

5 回答 5

2

If you have to use Python 2.7 or above, this answer is not for you. I got the same error messages with Python 2.7.

The nltk book assumes you are running Python 2.4 or 2.5. Try to install Python 2.5 and the packages/libs for Python 2.5 as follows. As suggested by nltk, avoid 64-bit versions.

  1. Install Python 2.5.4: www.python.org/ftp/python/2.5.4/
  2. Install Numpy-1.7.1: sourceforge.net/projects/numpy/files/NumPy/1.7.1
  3. Install NLTK 2.0.4: pypi.python.org/pypi/nltk
  4. Install PyYAML 3.10: pyyaml.org/wiki/PyYAML
  5. Test installation: Start>Python25, then type import nltk
  6. Install Matplotlib: www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib
  7. >>> import matplotlib

Try the example again and it should work.

于 2013-12-13T04:22:14.193 回答
1

我也遇到了这个问题,比我发现我应该先安装依赖项。(我使用python 2.7 64bit)

这是您可以在 Windows 上安装的程序的列表:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

您需要以下依赖项:需要 numpy、dateutil、pytz、pyparsing、六个

于 2014-04-16T08:48:47.700 回答
0

安装 matplotlib-1.1.0,不是最新版本。问题将得到解决。

于 2013-11-13T05:19:41.440 回答
0

这个问题很老,但也许这对 Python 新手有所帮助(也许他们对这种语言的第一次体验是通过 NLTK 书?)。

我得到了同样的错误,并意识到我只需要安装库。

首先,exit()如果您仍然在>>>提示符下,请使用命令退出 python 解释器。然后运行pip install matplotlib,这应该会触发包及其依赖项的下载(甚至是 NumPy,如果您没有,请在 NLTK 安装说明页面中推荐它)。

完成后,再次启动 python 解释器(使用pythonor idle,您之前用来启动它的任何命令),from nltk.book import *再次运行,等待列表完成,然后text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])再次尝试该命令。它现在应该可以工作了!

注意:Pip 是通常推荐的 Python 包安装程序,您可以使用它轻松地从 Internet 或本地 .whl(“wheel”)文件安装包。

于 2019-01-17T02:56:29.100 回答
0

Python 2.7 的解决方案

from nltk.book import *
import matplotlib as mpl
mpl.use('TkAgg')
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])

TkAgg 需要 TkInter。 是有关 matplotlib 可以使用的后端的更多信息。

于 2017-07-28T13:29:03.877 回答