OSX 10.8中usetex的问题

时间:2012-08-03 14:14:19

标签: python latex matplotlib osx-mountain-lion

我最近升级到OSX 10.8(Mountain Lion),如果我尝试在我的情节标签中使用乳胶标记,我的python安装现在行为不端。

以下代码运行完美:

plt.figure()
plt.plot( rand(51), rand(51) )
plt.show()

然而,这不是:

plt.rc( 'text', usetex=True )
plt.figure()
plt.plot( rand(51), rand(51) )
plt.show()

我得到的错误是:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/wx/_misc.py", line 1342, in Notify
    self.notify()
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/wx/_core.py", line 14716, in Notify
    self.result = self.callable(*self.args, **self.kwargs)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/backends/backend_wx.py", line 990, in _onDrawIdle
    self.draw(*args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/backends/backend_wxagg.py", line 59, in draw
    FigureCanvasAgg.draw(self)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 401, in draw
    self.figure.draw(self.renderer)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/figure.py", line 884, in draw
    func(*args)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/axes.py", line 1983, in draw
    a.draw(renderer)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/artist.py", line 55, in draw_wrapper
    draw(artist, renderer, *args, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/axis.py", line 1037, in draw
    ticklabelBoxes, ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw, renderer)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/axis.py", line 988, in _get_tick_bboxes
    extent = tick.label1.get_window_extent(renderer)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/text.py", line 747, in get_window_extent
    bbox, info = self._get_layout(self._renderer)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/text.py", line 300, in _get_layout
    ismath=False)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 174, in get_text_width_height_descent
    renderer=self)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/texmanager.py", line 608, in get_text_width_height_descent
    page = iter(dvi).next()
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 65, in __iter__
    have_page = self._read()
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 121, in _read
    self._dispatch(byte)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 209, in _dispatch
    self._fnt_def(k, c, s, d, a, l, n)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 362, in _fnt_def
    tfm = _tfmfile(n[-l:])
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 878, in _tfmfile
    return _fontfile(texname, Tfm, '.tfm', _tfmcache)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 868, in _fontfile
    filename = find_tex_file(texname + suffix)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/site-packages/matplotlib/dviread.py", line 838, in find_tex_file
    pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/Library/Frameworks/Python.framework/Versions/7.2/lib/python2.7/subprocess.py", line 1228, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

还有其他人遇到过这个问题吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

也许TeX和实用程序不在$PATH上?您应该进行设置,以便在命令行中键入“tex”或“kpsewhich”时,可以调用这些程序(即获取一些输出而不是“未找到命令”)。如果您之前安装过TeX Live,请确保/usr/texbin位于搜索路径中。