簡體   English   中英

在PyQt中嵌入Matplotlib

[英]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

我從終端運行這些導入命令,它工作正常。 有人可以找出我的安裝有什么問題嗎?

閱讀回溯。

您嘗試匯入FigureCanvasQTAggbackend_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM