【发布时间】:2012-10-17 19:57:51
【问题描述】:
我通过 Macports 在 Mountain Lion 上安装了 python 2.7 和 matplotlib 1.1.1,当我运行以下命令时:
import matplotlib
matplotlib.use('GTKAgg')
import matplotlib.pyplot as plt
在最后一行,我收到以下错误消息。在互联网上环顾四周后,我看到的唯一“解决方案”是使用“Agg”作为后端而不是“GTKAgg”,但是当我这样做时它会运行(并且没有任何错误地终止)但没有任何情节。上面的行在我的 Windows XP 上运行良好。有人有什么建议吗?
错误信息:
第 2 行,在 import matplotlib.pyplot as plt
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/pyplot.py”,第 95 行,在 new_figure_manager,draw_if_interactive,_show = pylab_setup() pylab_setup globals(),locals() 中的文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/init.py”,第 25 行,[后端名称])
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/backend_gtkagg.py”, 第 10 行,从 matplotlib.backends.backend_gtk 导入 gtk, FigureManagerGTK, FigureCanvasGTK,\
文件“/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/matplotlib/backends/backend_gtk.py”, 第 52 行,在 cursors.MOVE 中:gdk.Cursor(gdk.FLEUR),RuntimeError: could 不创建 GdkCursor 对象
【问题讨论】:
-
"但没有任何情节" -- 你使用的是
plt.show()? -
您尝试过
MacOSX或CocoaAgg后端吗? -
是的,我正在使用 plt.show()。我刚刚尝试了 MacOSX 和 CocoaAgg 后端。在后者上,我得到了绘图窗口,但随后一遍又一遍地重复以下内容:错误消息: AttributeError:'FigureCanvasMac'对象没有属性'restore_region'
-
您可以获得完整的后端列表以尝试使用
import matplotlib.rcsetup as rc; print(rc.all_backends)。尝试所有这些都不会有什么坏处。 -
有趣的是你说你已经安装了 Python2.7,但是错误信息显示 Python 正在运行的文件来自
Versions/2.6。确保安装了matplotlib以使用Python2.7,并确保用于调用脚本的python是Python2.7。
标签: python matplotlib macports