In macports, matplotlib is not working quite like I'd like. I've installed it for both python24 and python25. It appears the dependencies aren't quite right (sufficient) so I have manually installed a few packages besides the normal dependencies; this bears further investigation but I'd have to uninstall a bunch of things to properly test it out so I'll leave that alone for now. Anyway: I'd like this package to work with the large variety of backends that matplotlib supports, so I am going through them now to point out issues with the current install. This is the current MacPorts (1.6) with 10.5.1 on Intel (MacBook Pro) and the latest portfiles. Summary: No interactive backends work at all. I'm not asking for every backend to work, but at least some of them would be nice. I'd think about prioritizing TkAgg and making sure that pdf in 2.5 also works. First, I've installed both python24 and python25: $ port installed | grep matplotlib py-matplotlib @0.90.1_0+numpy+tkinter (active) py25-matplotlib @0.90.1_1+numpy+tkinter (active) I can configure the backend by setting it in ~/.matplotlib/matplotlibrc. That is the only setting I have in this file, so everything else is default. I am testing this with 'test.py', the simplest possible matplotlib program: from pylab import * plot([1,2,3,4]) show() # for interactive, or savefig('test') for file and running with python2.4 test.py (or python2.5 test.py). OK, let's start looking at backends. First, the file-saving backends, then the interactive ones. ++++++++ backend: Pdf ++++++++ 2.4: Writes pdf correctly (woo hoo!). 2.5: Fails with AttributeError: 'module' object has no attribute 'decoding_map' $ python2.5 test.py Traceback (most recent call last): File "test.py", line 4, in <module> savefig('test') File "/opt/local/lib/python2.5/site-packages/matplotlib/pylab.py", line 796, in savefig return fig.savefig(*args, **kwargs) File "/opt/local/lib/python2.5/site-packages/matplotlib/figure.py", line 759, in savefig self.canvas.print_figure(*args, **kwargs) File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_pdf.py", line 1395, in print_figure file.close() File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_pdf.py", line 401, in close self.writeFonts() File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_pdf.py", line 456, in writeFonts fontdictObject = self.embedTTF(filename) File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_pdf.py", line 508, in embedTTF widths = [ get_char_width(charcode) for charcode in range(firstchar, lastchar+1) ] File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_pdf.py", line 505, in get_char_width unicode = cp1252.decoding_map[charcode] or 0 AttributeError: 'module' object has no attribute 'decoding_map' ++++++++ backend: Ps ++++++++ Appears to write both ps and eps correctly for both 2.4 and 2.5. ++++++++ backend: Svg ++++++++ Appears to write svg correctly for both 2.4 and 2.5 (openable in Firefox). Interactive backends: ++++++++ backend: Agg ++++++++ 2.4 and 2.5: Launches and completes, does not pop up any graph (window) as it should. ++++++++ backend: Cairo ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named cairo' Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_cairo.py", line 27, in ? import cairo ImportError: No module named cairo $ port installed | grep -i cairo cairo @1.4.10_0 cairo @1.4.12_0 cairo @1.4.14_0 (active) ++++++++ backend: CocoaAgg ++++++++ $ python2.4 test.py The CococaAgg backend required PyObjC to be installed! (currently testing v1.3.7) $ python2.5 test.py The CococaAgg backend required PyObjC to be installed! (currently testing v1.3.7) ++++++++ backend: FltkAgg ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named fltk' Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_fltkagg.py", line 15, in ? import fltk as Fltk ImportError: No module named fltk ++++++++ backend: Gtk AND GtkAgg ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named gobject' Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in ? from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\ File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py", line 6, in ? import gobject ImportError: No module named gobject ++++++++ backend: GtkCairo ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named gtk' Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_gtkcairo.py", line 5, in ? import gtk ImportError: No module named gtk ++++++++ backend: QtAgg ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named qt Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_qtagg.py", line 13, in ? from backend_qt import qt, FigureManagerQT, FigureCanvasQT,\ File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_qt.py", line 20, in ? import qt ImportError: No module named qt ++++++++ backend: Qt4Agg ++++++++ 2.4 and 2.5: Same behavior, 'ImportError: No module named PyQt4' Traceback (most recent call last): File "test.py", line 1, in <module> from pylab import * File "/opt/local/lib/python2.5/site-packages/pylab.py", line 1, in <module> from matplotlib.pylab import * File "/opt/local/lib/python2.5/site-packages/matplotlib/pylab.py", line 222, in <module> new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_qt4agg.py", line 14, in <module> from backend_qt4 import QtCore, QtGui, FigureManagerQT, FigureCanvasQT,\ File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_qt4.py", line 20, in <module> from PyQt4 import QtCore, QtGui ImportError: No module named PyQt4 ++++++++ backend: TkAgg ++++++++ 2.4: Launches X, pops up a blank window labeled Figure 1, segfaults python. 2.5: Traceback (most recent call last): File "test.py", line 1, in <module> from pylab import * File "/opt/local/lib/python2.5/site-packages/pylab.py", line 1, in <module> from matplotlib.pylab import * File "/opt/local/lib/python2.5/site-packages/matplotlib/pylab.py", line 222, in <module> new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.5/site-packages/matplotlib/backends/backend_tkagg.py", line 7, in <module> import Tkinter as Tk, FileDialog File "/opt/local/lib/python2.5/lib-tk/Tkinter.py", line 38, in <module> import _tkinter # If this fails your Python may not be configured for Tk ImportError: No module named _tkinter ++++++++ backend: Wx ++++++++ $ python2.4 test.py Matplotlib backend_wx requires wxPython be installed $ python2.5 test.py This program needs access to the screen. Please run with 'pythonw', not 'python', and only when you are logged in on the main display of your Mac. $ pythonw2.4 test.py Matplotlib backend_wx requires wxPython be installed $ pythonw2.5 test.py Traceback (most recent call last): File "test.py", line 1, in <module> from pylab import * ImportError: No module named pylab ++++++++ backend: WxAgg ++++++++ $ python2.4 test.py Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_wxagg.py", line 19, in ? import wx ImportError: No module named wx $ python2.5 test.py This program needs access to the screen. Please run with 'pythonw', not 'python', and only when you are logged in on the main display of your Mac. $ pythonw2.4 test.py Traceback (most recent call last): File "test.py", line 1, in ? from pylab import * File "/opt/local/lib/python2.4/site-packages/pylab.py", line 1, in ? from matplotlib.pylab import * File "/opt/local/lib/python2.4/site-packages/matplotlib/pylab.py", line 222, in ? new_figure_manager, draw_if_interactive, show = pylab_setup() File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/__init__.py", line 24, in pylab_setup globals(),locals(),[backend_name]) File "/opt/local/lib/python2.4/site-packages/matplotlib/backends/backend_wxagg.py", line 19, in ? import wx ImportError: No module named wx $ pythonw2.5 test.py Traceback (most recent call last): File "test.py", line 1, in <module> from pylab import * ImportError: No module named pylab /* end of message */