[英]Embedding Matplotlib in PyQt
我正在嘗試測試Matplotlib是否可以在Ubuntu的PyQt中工作。 我一直在與PyQt合作,我想將Matplotlib嵌入Pyqt。 我遵循了http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/上給出的代碼,但是在導入matplotlib
產生一些錯誤。
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4agg.py", line 9, in <module>
from matplotlib.figure import Figure
File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 18, in <module>
from axes import Axes, SubplotBase, subplot_class_factory
File "/usr/lib/pymodules/python2.6/matplotlib/axes.py", line 2, in <module>
import math, sys, warnings, datetime, new
File "/home/kasa/Desktop/new.py", line 25, in <module>
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
ImportError: cannot import name FigureCanvasQTAgg
我從終端運行這些導入命令,它工作正常。 有人可以找出我的安裝有什么問題嗎?
閱讀回溯。
您嘗試匯入FigureCanvasQTAgg
從backend_qt4agg
:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
它試圖從figure
導入Figure
:
File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4agg.py", line 9, in <module>
from matplotlib.figure import Figure
試圖從axes
導入一些東西:
File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 18, in <module>
from axes import Axes, SubplotBase, subplot_class_factory
它還導入了幾個模塊。 注意最后一個, new
:
File "/usr/lib/pymodules/python2.6/matplotlib/axes.py", line 2, in <module>
import math, sys, warnings, datetime, new
它在哪里尋找? 代替內置模塊,它轉到
File "/home/kasa/Desktop/new.py", line 25, in <module>
我想這是您的文件,它又返回了:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
Python意識到無法導入FigureCanvasQTAgg
因為它發現自己處於循環導入地獄,因此出現錯誤:
ImportError: cannot import name FigureCanvasQTAgg
長話短說
您的文件將掩蓋內置的new
模塊 。 解決方案很簡單:重命名文件(並從文件夾中刪除new.pyc
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.