01. OS X 安装 matplotlib 失败

2017-05-31  本文已影响0人  ZincS
ModuleNotFoundError: No module named 'matplotlib'

说一下我的操作环境:我使用的是 MacBook,系统自带 python2.7 ,我又安装了 python3.6.1.

先说一下我的现象:
我在终端使用指令pip install matplotlib在终端里显示安装 matplotlib 成功之后,使用import matplotlib指令调用该模块。
结果提示我没有找到该模块:
ModuleNotFoundError: No module named 'matplotlib'
然而,我在终端使用指令pip list,结果显示很明显是安装成功了的:

cycler (0.10.0)
functools32 (3.2.3.post2)
matplotlib (2.0.2) // ← matplotlib 明明已经安装成功
mercurial (4.2)
numpy (1.12.1)
pip (9.0.1)
pyparsing (2.2.0)
python-dateutil (2.6.0)
pytz (2017.2)
setuptools (32.1.0)
six (1.10.0)
subprocess32 (3.2.7)
wheel (0.29.0)

然后,我发现,在终端里使用

python
>>>import matplotlib

是成功的,然而,使用下面的

python3
>>>import matplotlib

就失败了。

所以我们已经可以定位问题了:

matplotlib 安装成功了,只是,是针对 python2 的环境安装成功了。
但是对于 python3 的环境,安装是失败的。

我在 google 上查找了 N 多资料都没有一个很好的解决办法,尝试了很多方法,都失败了。
网上很多解决方案说 python3 的 matplotlib 需要下载源代码,自行编译安装,把安装时候的 python 命令改成 python3 。
这样的操作太复杂,如果你遇到了跟我一样的情况,先别尝试这种非常复杂的方法,继续往下看,我的方法可能会帮到你。

那这究竟是为什么呢?

在终端使用指令:pip uninstall matplotlib就可以发现原因了,卸载 matplotlib 的过程中可以发现: matplotlib 的安装路径是在 python2.7 下面的,而我们最终使用 import 语句的时候,用的是 python3.6 !

matplotlib 的安装路径是在 python2.7 下面的

而 python3.6 是有单独的 pip 的,python3 下是pip3
使用pip3 list可以看到,在 python3 下是没有安装 matplotlib 的。

因此,使用以下语句再安装一次 matplotlib 就可以了:
pip3 install matplotlib

安装成功之后,使用pip3 list语句查看:

cycler (0.10.0)
matplotlib (2.0.2) // ← python3下的matplotlib已经安装成功
numpy (1.12.1)
pip (9.0.1)
pygame (1.9.4.dev0)
pyparsing (2.2.0)
python-dateutil (2.6.0)
pytz (2017.2)
setuptools (28.8.0)
six (1.10.0)

此时再使用import matplotlib,可见已经调用成功了。

上一篇 下一篇

猜你喜欢

热点阅读