virtualenv + pypyの環境でpip installでPILをインストールする。

virtualenvでPyPy1.6を使っています。
PyPyはPILが使えるとのことで、pip install PILでインストールしようとしたら下記エラーが発生。

(略)
  File "<path to pypy>/pypy-1.6/lib-python/modified-2.7/distutils/unixccompiler.py", line 328, in find_library_file

    m = re.search(r'-isysroot\s+(\S+)', cflags)

  File "<path to virtualenv>/lib-python/2.7/re.py", line 142, in search

    return _compile(pattern, flags).search(string)

TypeError: unsupported operand type for unary buffer: 'NoneType'

調べたら、pypyのissueとして投稿されてたモンキーパッチで回避できる模様。

If i patch pypy-1.6/lib-python/modified-2.7/distutils/unixccompiler.py:328
adding:

if cflags is None:
cflags = ''

http://mail.python.org/pipermail//pypy-issue/2011-August/001299.html
$ pip install PIL

これでPILがうまくインストールされた。

一言。

久々の更新がエラー回避のちっちゃなポスト。