0

我在 OSX 10.9 上运行 Enthought Canopy 64 位版本 1.1.1.1452。我正在尝试启动并运行 Enthought Canopy 包“chaco 4.3.0-3”以进行 2D 交互式绘图。然而,即使是最简单的 chaco 演示也会引发错误。从堆栈跟踪看来,问题似乎与加载字体有关。

我正在按照此处的快速入门说明进行操作:

http://docs.enthought.com/chaco/quickstart.html

但是,当我尝试运行 simple_line.py 演示时,我收到以下错误:

Last login: Mon Dec  2 15:20:35 on ttys000
dnab434def:demo mike$ pwd
/Users/mike/Library/Enthought/Canopy_64bit/User/Examples/chaco-4.2.0/demo
dnab434def:demo mike$ python
Enthought Canopy Python 2.7.3 | 64-bit | (default, Aug  8 2013, 05:37:06) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
dnab434def:demo mike$ python simple_line.py
Traceback (most recent call last):
  File "simple_line.py", line 24, in <module>
    from enable.api import Component, ComponentEditor
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/enable/api.py", line 8, in <module>
    from base import IDroppedOnHandler, TOP, VCENTER, BOTTOM, LEFT, HCENTER, RIGHT, \
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/enable/base.py", line 31, in <module>
    from kiva.constants import DEFAULT, DECORATIVE, ROMAN, SCRIPT, SWISS,\
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/__init__.py", line 19, in <module>
    from fonttools import Font
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/__init__.py", line 1, in <module>
    from font import Font, str_to_font
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font.py", line 9, in <module>
    from font_manager import FontProperties, fontManager
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font_manager.py", line 1400, in <module>
    _rebuild()
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font_manager.py", line 1350, in _rebuild
    fontManager = FontManager()
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font_manager.py", line 1053, in __init__
    self.ttffiles = findSystemFonts(paths) + findSystemFonts()
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font_manager.py", line 422, in findSystemFonts
    for f in OSXInstalledFonts(fontext=fontext):
  File "/Users/mike/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/kiva/fonttools/font_manager.py", line 346, in OSXInstalledFonts
    files.extend(glob.glob(os.path.join(path, '*.'+ext)))
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/glob.py", line 16, in glob
    return list(iglob(pathname))
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/glob.py", line 41, in iglob
    for dirname in dirs:
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/glob.py", line 42, in iglob
    for name in glob_in_dir(dirname, basename):
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/glob.py", line 61, in glob1
    return fnmatch.filter(names, pattern)
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/fnmatch.py", line 54, in filter
    _cache[pat] = re.compile(res)
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/re.py", line 190, in compile
    return _compile(pattern, flags)
  File "/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/re.py", line 242, in _compile
    raise error, v # invalid expression
sre_constants.error: bad character range

我该如何解决这个问题?

4

1 回答 1

0

显然 Chaco 不喜欢我安装的自定义字体。这是对我有用的解决方法。

我将所有字体移出 ~/Library/Fonts 文件夹,然后在 IPython 笔记本中运行“from chaco.shell import *”。现在我可以像往常一样使用Chaco了。

肯定发生了某种奇怪的缓存,因为我将所有自定义字体移回 ~/Library/Fonts 文件夹,而 Chaco 仍然可以使用。

无论如何,如果他们收到相同的错误消息,希望这会对某人有所帮助。

于 2013-12-03T06:39:22.153 回答