I'm working on updating matplotlib in Sage to 1.0.  We're running into 
a problem where it seems that the fontList.cache is not being updated.  
I've included an example session below.  The .matplotlib directory is 
accessible here: 
http://sage.math.washington.edu/home/jason/.matplotlib/  The problem 
seems to be that it is looking for a file that does not exist:

[ja...@sage:/scratch/jason/sage-4.6.alpha2]$ ls 
/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
ls: cannot access 
/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf:
 
No such file or directory


Does anyone have any idea what is going on?  Why is the fontList.cache 
file not being updated, instead of trying to access a path that doesn't 
exist?

A related question is: I see the variable USE_FONTCONFIG in 
font_manager.py.  It says it is experimental.  How stable is that code?  
It's tempting to switch to using fontconfig.

Thanks,

Jason


Here is my example session:

In [1]: from pylab import *

In [2]: text(0.5, 0.5, 'text 0')
Out[2]: <matplotlib.text.Text object at 0x18e7b50>

In [3]: savefig('test.png')
ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (532, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (643, 0))

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line statement', (10, 0))

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)

/mnt/usb1/scratch/jason/sage-4.6.alpha2/<ipython console> in <module>()

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/pyplot.pyc
 
in savefig(*args, **kwargs)
     361 def savefig(*args, **kwargs):
     362     fig = gcf()
--> 363     return fig.savefig(*args, **kwargs)
     364
     365 @docstring.copy_dedent(Figure.ginput)

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/figure.pyc
 
in savefig(self, *args, **kwargs)
    1082             kwargs.setdefault('edgecolor', 
rcParams['savefig.edgecolor'])
    1083
-> 1084         self.canvas.print_figure(*args, **kwargs)
    1085
    1086         if transparent:

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backend_bases.pyc
 
in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, 
format, **kwargs)
    1884                 orientation=orientation,
    1885                 bbox_inches_restore=_bbox_inches_restore,
-> 1886                 **kwargs)
    1887         finally:
    1888             if bbox_inches and restore_bbox:

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc
 
in print_png(self, filename_or_obj, *args, **kwargs)
     436
     437     def print_png(self, filename_or_obj, *args, **kwargs):
--> 438         FigureCanvasAgg.draw(self)
     439         renderer = self.get_renderer()
     440         original_dpi = renderer.dpi

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc
 
in draw(self)
     392
     393         self.renderer = self.get_renderer()
--> 394         self.figure.draw(self.renderer)
     395
     396     def get_renderer(self):

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc
 
in draw_wrapper(artist, renderer, *args, **kwargs)
      53     def draw_wrapper(artist, renderer, *args, **kwargs):
      54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
      56         after(artist, renderer)
      57

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/figure.pyc
 
in draw(self, renderer)
     796         dsu.sort(key=itemgetter(0))
     797         for zorder, func, args in dsu:
--> 798             func(*args)
     799
     800         renderer.close_group('figure')

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc
 
in draw_wrapper(artist, renderer, *args, **kwargs)
      53     def draw_wrapper(artist, renderer, *args, **kwargs):
      54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
      56         after(artist, renderer)
      57

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/axes.pyc
 
in draw(self, renderer, inframe)
    1932
    1933         for zorder, a in dsu:
-> 1934             a.draw(renderer)
    1935
    1936         renderer.close_group('axes')

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc
 
in draw_wrapper(artist, renderer, *args, **kwargs)
      53     def draw_wrapper(artist, renderer, *args, **kwargs):
      54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
      56         after(artist, renderer)
      57

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/axis.pyc
 
in draw(self, renderer, *args, **kwargs)
    1015             tick.set_label1(label)
    1016             tick.set_label2(label)
-> 1017             tick.draw(renderer)
    1018             if tick.label1On and tick.label1.get_visible():
    1019                 extent = tick.label1.get_window_extent(renderer)

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc
 
in draw_wrapper(artist, renderer, *args, **kwargs)
      53     def draw_wrapper(artist, renderer, *args, **kwargs):
      54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
      56         after(artist, renderer)
      57

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/axis.pyc
 
in draw(self, renderer)
     232
     233         if self.label1On:
--> 234             self.label1.draw(renderer)
     235         if self.label2On:
     236             self.label2.draw(renderer)

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/artist.pyc
 
in draw_wrapper(artist, renderer, *args, **kwargs)
      53     def draw_wrapper(artist, renderer, *args, **kwargs):
      54         before(artist, renderer)
---> 55         draw(artist, renderer, *args, **kwargs)
      56         after(artist, renderer)
      57

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/text.pyc
 
in draw(self, renderer)
     522         renderer.open_group('text', self.get_gid())
     523
--> 524         bbox, info = self._get_layout(renderer)
     525         trans = self.get_transform()
     526

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/text.pyc
 
in _get_layout(self, renderer)
     296         tmp, lp_h, lp_bl = get_text_width_height_descent('lp',
     297                                                          
self._fontproperties,
--> 298                                                          
ismath=False)
     299         offsety = lp_h * self._linespacing
     300

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc
 
in get_text_width_height_descent(self, s, prop, ismath)
     178
     179         flags = self._get_hinting_flag()
--> 180         font = self._get_agg_font(prop)
     181         font.set_text(s, 0.0, flags=flags)  # the width and 
height of unrotated string
     182         w, h = font.get_width_height()

/mnt/usb1/scratch/jason/sage-4.6.alpha2/local/lib/python2.6/site-packages/matplotlib/backends/backend_agg.pyc
 
in _get_agg_font(self, prop)
     219             font = self._fontd.get(fname)
     220             if font is None:
--> 221                 font = FT2Font(str(fname))
     222                 self._fontd[fname] = font
     223             self._fontd[key] = font

RuntimeError: Could not open facefile 
/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf;
 
Cannot_Open_Resource



------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to