LionでGoogle App Engine用の仮想環境構築

MacOSX Lionでvirtualenv, virtualenvwrapperを使ってGoogle App Engine(GAE)用の仮想環境を構築しようとして少しはまったのでメモ。

環境

  • MacOSX Lion
  • Python2.7.2 (virtualenv起動)
  • Python2.5.6 (仮想環境のinterpretermacにdefaultで入っているもの。/usr/bin/python2.5)

エラーと解決法

mkvirtualenv --python=/usr/bin/python2.5 --no-site-packages gae

と入力したところ、

distutils.errors.DistutilsPlatformError
$MACOSX_DEPLOYMENT_TARGET mismatch: now "10.5" but "10.7" during configure

エラー発生。エラーを吐いている部分のソースコードを読んでみると,

if sys.platform == 'darwin' and g.has_key('MACOSX_DEPLOYMENT_TARGET'):
        cfg_target = g['MACOSX_DEPLOYMENT_TARGET']
        cur_target = os.getenv('MACOSX_DEPLOYMENT_TARGET', '')
        if cur_target == '':
            cur_target = cfg_target
            os.putenv('MACOSX_DEPLOYMENT_TARGET', cfg_target)
        elif map(int, cfg_target.split('.')) > map(int, cur_target.split('.')):
            my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: now "%s" but "%s" during configure'
                % (cur_target, cfg_target))
            raise DistutilsPlatformError(my_msg)

cur_targetはmac環境変数$MACOSX_DEPLOYMENT_TARGETを読んだ値,
cfg_targetは/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config/MakefileMACOSX_DEPLOYMENT_TARGETの値らしいんで,.zshrcに,

export MACOSX_DEPLOYMENT_TARGET=10.7

と書いて,sourceしたら無事に環境構築できました。
使ってるOSはLionなので10.7に設定しても問題ないよね...?