最近在看《Python编程从入门到实践》这本书,在看到第15章,生成数据时,遇到了一个问题:matplotlib 在Geany编辑器中一直显示找不到matplotlib模块。在网上查看了一些资料后找到了原因。
问题原因
你可以做一个测试,看一下符不符合我说的情况:
- 重新在终端安装matplotlib,这个时候会提示你已经安装过了:
但是你会发现提示安装的路径:
即:在/home/用户名/anaconda3/lib/python3.6/site-packages 下 - 查看Geany 编辑器查找模块的路径
代码如下:
import sys print(sys.path)
此时你会发现,原来Geany取查找包时,并不会到anaconda3目录下取找。这下我们就找出问题的原因了。其实我们安装了两个python解释器,一个是ubuntu系统自带的,另外一个是我们通过anaconda安装的。我们使用Geany编辑器时,实际上使用的是系统自带的python解释器,它查找包的路径也是取该解释器关联的路径下取查找。关联路径默认情况下是不包含anaconda3目录下安装的模块的。因此,需要我们手动解决。
当然,如果你不曾使用anaconda安装过Python就不会出现上述问题。
解决方案
- 笨方法
在Geany编辑器中的每一个使用到matplotlib的程序中添加如下代码:
import sys sys.path.append('/home/用户名/anaconda3/lib/python3.6/site-packages')
即:每次手动添加一下包路径,但是缺点是每次添加只在本程序有效,不能永久解决问题。
修改环境变量
这个方法肯定能够解决问题的,但是建议不要修改环境变量,搞错的话很麻烦。在默认安装的python下添加一个路径文件,具体操作如下:
(1)终端切到:/usr/local/lib/python3.6/dist-packages
目录下
(2)创建一个.pth为扩展名的文件,文件中写入matplotlib安装的路径:/home/yuanjianyu/anaconda3/lib/python3.6/site-packages