windowsでmatlibplot読み込むとfont_manager.pyでMemoryErrorが出る←解決

Pythonでscipy,numpy,matlibplot使っている人がかなりいるようでちょっと手を出してみようと思ったのです。そして、すごく可能性を感じました。
toolboxなしのmatlabはもういらないです。と感じました。
仕事でmatlabを virtual model simulator として使ってるのだが、いわゆるCADとして使わなければmatlabを使い続ける理由がないな。逆に言うと、まだCADとして手厚いサポートがあるのでmatlabの契約を継続するのですけど。
でも、pythonの開発人口の層の厚みを鑑みるに時間の問題な気がする。誰か作って下さい。積極的に乗り換えますwww

ところで、インストール時にちょっとはまった点をメモ。

windowsでmatlibplot読み込むとfont_manager.pyでMemoryErrorが出た。コマンドラインからも、python shellからも同じエラー

環境
winxp
python2.6、python2.7

Numpy,Scipy,matplotlibは以下のバイナリパッケージをお手軽インストール。site-packages内に展開されます。
numpy-1.6.1-win32-superpack-python2.6.exe
scipy-0.9.0-win32-superpack-python2.6.exe
matplotlib-1.0.1.win32-py2.6.exe

>>>import matplotlib.pyplot

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    import matplotlib.pyplot
  File "C:\Python26\lib\site-packages\matplotlib\pyplot.py", line 23, in <module>
    from matplotlib.figure import Figure, figaspect
  File "C:\Python26\lib\site-packages\matplotlib\figure.py", line 18, in <module>
    from axes import Axes, SubplotBase, subplot_class_factory
  File "C:\Python26\lib\site-packages\matplotlib\axes.py", line 14, in <module>
    import matplotlib.axis as maxis
  File "C:\Python26\lib\site-packages\matplotlib\axis.py", line 10, in <module>
    import matplotlib.font_manager as font_manager
  File "C:\Python26\lib\site-packages\matplotlib\font_manager.py", line 1349, in <module>
    _rebuild()
  File "C:\Python26\lib\site-packages\matplotlib\font_manager.py", line 1299, in _rebuild
    fontManager = FontManager()
  File "C:\Python26\lib\site-packages\matplotlib\font_manager.py", line 1004, in __init__
    self.ttffiles = findSystemFonts(paths) + findSystemFonts()
  File "C:\Python26\lib\site-packages\matplotlib\font_manager.py", line 332, in findSystemFonts
    for f in win32InstalledFonts(fontdir):
  File "C:\Python26\lib\site-packages\matplotlib\font_manager.py", line 214, in win32InstalledFonts
    key, direc, any = _winreg.EnumValue( local, j)
MemoryError

解決手順

python26\Lib\site-packages\matplotlib\font_manager.py

の206行目に
local = None
を入れる。

        try:
            local = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, fontdir)
        except OSError:
            continue
        
        local = None
        if not local:
            files = []


http://d.hatena.ne.jp/wikuba/20110614/1308033727

local = none
じゃだめ
NameError: global name 'none' is not defined
って出るのですぐ気付くだろうけど。