最近在看《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