Mac OS X (Lion) で Python が動作しない(迷宮入り)
Google App Engine に PHP のランタイムが入ると聞いて喜び勇んで試していたら、 GAE のサーバーを動かす段になってこんなエラーが。
$ ~/SDK/google_appengine/dev_appserver.py --php_executable_path=/opt/local/bin/php-cgi54 helloworld/ Traceback (most recent call last): File "/Users/kikuchy/SDK/google_appengine/dev_appserver.py", line 182, in <module> _run_file(__file__, globals()) File "/Users/kikuchy/SDK/google_appengine/dev_appserver.py", line 178, in _run_file execfile(script_path, globals_) File "/Users/kikuchy/SDK/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 32, in <module> from google.appengine.tools.devappserver2.admin import admin_server File "/Users/kikuchy/SDK/google_appengine/google/appengine/tools/devappserver2/admin/admin_server.py", line 25, in <module> import webapp2 File "/Users/kikuchy/SDK/google_appengine/lib/webapp2-2.5.1/webapp2.py", line 25, in <module> import webob File "/Users/kikuchy/SDK/google_appengine/lib/webob-1.2.3/webob/__init__.py", line 2, in <module> from webob.request import * File "/Users/kikuchy/SDK/google_appengine/lib/webob-1.2.3/webob/request.py", line 3, in <module> import io File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 60, in <module> import _io ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): no suitable image found. Did find: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so: unknown file type, first eight bytes: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
_io.so がおかしいらしい。先頭8バイトが0で埋まってるとか何なの。
調べてみると、どうも OS をアップデートしたときにファイルが壊れることがあるとか無いとか。
まあ、ソフトウェアだって人が作った物だし、壊れる事はあるよね。
これから Python だけ大人しくインストールし直しました。
具体的には、標準で入っている Python を Path から除去。
Macports でPython27 をインストールするだけ。
新しい Python を使ったら、件の GAE のサーバーは動きました。良かった。