說一下我的操作環(huán)境:我使用的是 MacBook,系統(tǒng)自帶 python2.7 膀钠,我又安裝了 python3.6.1.
先說一下我的現(xiàn)象:
我在終端使用指令pip install matplotlib
在終端里顯示安裝 matplotlib 成功之后吠卷,使用import matplotlib
指令調(diào)用該模塊。
結(jié)果提示我沒有找到該模塊:
ModuleNotFoundError: No module named 'matplotlib'
然而,我在終端使用指令pip list
,結(jié)果顯示很明顯是安裝成功了的:
cycler (0.10.0)
functools32 (3.2.3.post2)
matplotlib (2.0.2) // ← matplotlib 明明已經(jīng)安裝成功
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)
然后惩阶,我發(fā)現(xiàn),在終端里使用
python
>>>import matplotlib
是成功的健提,然而琳猫,使用下面的
python3
>>>import matplotlib
就失敗了伟叛。
所以我們已經(jīng)可以定位問題了:
matplotlib 安裝成功了私痹,只是,是針對 python2 的環(huán)境安裝成功了。
但是對于 python3 的環(huán)境紊遵,安裝是失敗的账千。
我在 google 上查找了 N 多資料都沒有一個很好的解決辦法,嘗試了很多方法暗膜,都失敗了匀奏。
網(wǎng)上很多解決方案說 python3 的 matplotlib 需要下載源代碼,自行編譯安裝学搜,把安裝時候的 python 命令改成 python3 娃善。
這樣的操作太復(fù)雜,如果你遇到了跟我一樣的情況瑞佩,先別嘗試這種非常復(fù)雜的方法聚磺,繼續(xù)往下看,我的方法可能會幫到你炬丸。
那這究竟是為什么呢瘫寝?
在終端使用指令:pip uninstall matplotlib
就可以發(fā)現(xiàn)原因了,卸載 matplotlib 的過程中可以發(fā)現(xiàn): matplotlib 的安裝路徑是在 python2.7 下面的稠炬,而我們最終使用 import 語句的時候焕阿,用的是 python3.6 !
而 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已經(jīng)安裝成功
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
疾嗅,可見已經(jīng)調(diào)用成功了外厂。