python中安装matplotlib模块遇到的问题和解决方法

时间:2022-01-26 01:34:50

第一次写技术文章,没啥高深的内容,只是作为一个python的初学者,在安装第三方模块matplotlib的过程中遇到了好多问题,想把这些问题和它的解决方法记录下来,一方面以后自己忘记的时候能找出来看看,另一方面也希望能给以后的初学者一个参照,希望能帮助他们少走些弯路!接触matplotlib是因为最近在看《用Python进行自然语言处理》这本书,安装完NLTK和Python后,要用到dispersion_plot()这个函数来画离散图,结果要安装matplotlib模块,本以为是件简单的事上手才知道安装的东西还蛮多的,倒腾了一个上午总算搞定了,现把遇到的问题和解决方案总结如下。



安装的正确过程:
1.先安装python,我用的是32位python3.4.1(下载地址可以去:http://www.nltk.org,当然也可以去官网,但nltk官网上给出了相应版本的nltk所需要的python版本)

2.安装nltk(版本nltk-3.0.1.win32),这是python下的一个自然语言工具,里面集成了很多处理自然语言所需要的函数。(下载地址:同上)

3.安装NumPy(版本numpy-1.8.1-win32-superpack-python3.4)(下载地址:http://www.scipy.org/scipylib/download.html)

4.安装SciPy(版本scipy-0.15.1-win32-superpack-python3.4)(下载地址:同上)

5.安装Matplotlib(版本matplotlib-1.4.1.win32-py3.4)(下载地址:http://matplotlib.org/)

6.安装dateutil(版本python_dateutil-2.3-py2.py3-none-any)(下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/)

7.安装Pyparsing(版本pyparsing-2.0.3-py3-none-any)(下载地址:同上)


其中,NumPy和SciPy中的一些模块,是导入Matplotlib所需的,应该安装。


遇到的问题:

1.最开始,在装完nltk,numpy和scipy以及matplotlib后,我直接在python交互式命令行中导入matplotlib模块,结果提示缺少模块six,如下图所示:

python中安装matplotlib模块遇到的问题和解决方法

这个模块实在刚才装完的SciPy包中,找到自己的Python的安装目录,然后把%PYTHON_ROOT%\Lib\site-packages\scipy\lib目下的six.py,six.pyc,six.pyo三个文件放到%PYTHON_ROOT%\Lib\site-packages目录下即可解决这个问题,这里%PYTHON_ROOT%是指你电脑上的python安装的根目录,如我是把python安装在C盘根目录的,所以在我电脑上这个%PYTHON_ROOT%表示的是C:\python27,这个根据你自己安装Python的目录不同而不同。



2.在解决上面的问题后,再次在python交互式命令行下,导入matplotlib模块,结果仍然提示出错,如下图:

python中安装matplotlib模块遇到的问题和解决方法

根据提示可以知道,matplotlib需要dateutil,所以我们需要安装第6步中的dateutil,在我给的链接里,如今只能下到.whl格式的安装文件,这个是python自己的包文件需要用到python的包管理软件来安装,python自带的包管理软件常见的有setuptools和pip两种,我这里使用的是pip来进行安装。使用之前最好自己添加环境变量,免得在后面使用时,要输入Pip程序的完整路劲比较麻烦。在系统变量Path的最后面添加如下的地址:%PYTHON_ROOT%\Scripts。其中,%PYTHON_ROOT%仍然是python的根目录。安装过程如下:将下载好的dateutil的安装包,放到某个目录下,如我把它放在D盘根目录,然后打开windows的命令行窗口,请注意是Windows的命令行窗口,然后进入D盘根目录,然后输入如下命令,如下图下半部分所示:

python中安装matplotlib模块遇到的问题和解决方法



3.安装完dateutil后,导入matplotlib仍然提示有错,提示缺少pyparsing模块,按照第二步方式,下载安装文件,安装完成后,便可正确导入matplotlib模块,安装的命令如上图上半部分所示,这里不再赘述。正确安装后即可成功导入,如下图所示:

python中安装matplotlib模块遇到的问题和解决方法



总结:安装过程其实比较麻烦,主要是要导入的模块太多,还好python解释器会给出详细的指示,我们可以按照它的只是一步步完成模块的安装。最后需要说明的就是,由于要安装的包比较多,python有分为两个大的分支2.x和3.x,所以希望大家在下载各个包的时候,主要找到相匹配的包,比如我安装的是3.4的python所以下载的包也应该是适应3.4的包,这些包一般在名字上都会注明适用于哪个版本的python,如numpy-1.8.1-win32-superpack-python3.4,这个Numpy包就是适合3.4的。这是个细节,请大家注意,如果你安装的是python3.x而安装的包却是适合python2.x的话就可能出现不匹配。


本文写到这就全部结束了,如果大家在安装这些包的时候(nltk,numpy,scipy,matplotlib)遇到了问题,可以给我留言,我一定及时回复!