最近我正在学习在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"])
该代码来自使用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/
如何让它正常工作?非常感谢。
答案 0 :(得分:2)
如果您必须使用Python 2.7或更高版本,则此答案不适合您。我在Python 2.7中得到了相同的错误消息。
nltk book假设您运行的是Python 2.4或2.5。尝试安装Python 2.5和packages/libs for Python 2.5 ,如下所示。正如nltk所建议的那样,请避免使用64位版本。
再次尝试该示例,它应该可以工作。
答案 1 :(得分:1)
我也遇到了这个问题,我首先应该安装依赖项。(我使用的是python 2.7 64bit)
以下是您可以在Windows上安装的程序列表:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
并且您需要以下依赖项:需要numpy,dateutil,pytz,pyparsing,six
答案 2 :(得分:0)
安装matplotlib-1.1.0,而不是最新版本。问题将得到解决。
答案 3 :(得分: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。 Here更多关于matplotlib可以使用的后端。
答案 4 :(得分:0)
这个问题很老,但这也许可以帮助任何不熟悉Python的人(也许他们第一次使用该语言是通过NLTK书?)。
我遇到了同样的错误,意识到我只需要安装这些库即可。
首先,如果您仍然在exit()
提示符下,请使用>>>
命令退出python解释器。然后运行pip install matplotlib
,这将触发软件包及其依赖项的下载(即使您没有NumPy,在NLTK安装说明页面中也建议使用NumPy)。
完成后,再次启动python解释器(使用python
或idle
,无论您之前使用过什么命令启动它),再次运行from nltk.book import *
,等待列表结束完成,然后再次尝试text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
命令。现在应该可以了!
注意:Pip是通常推荐的Python软件包安装程序,您可以使用它轻松地从Internet或本地.whl(“ wheel”)文件安装软件包。