LionでGoogle App Engine用の仮想環境構築
MacOSX Lionでvirtualenv, virtualenvwrapperを使ってGoogle App Engine(GAE)用の仮想環境を構築しようとして少しはまったのでメモ。
環境
- MacOSX Lion
- Python2.7.2 (virtualenv起動)
- Python2.5.6 (仮想環境のinterpreter、macに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/MakefileのMACOSX_DEPLOYMENT_TARGETの値らしいんで,.zshrcに,
export MACOSX_DEPLOYMENT_TARGET=10.7
と書いて,sourceしたら無事に環境構築できました。
使ってるOSはLionなので10.7に設定しても問題ないよね...?