Kikuchy's Second Memory

つくる楽しさをもっと伝えたい。プログラムを書いていて、わからなかったこと・気付いた事を書き留めています。

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 のサーバーは動きました。良かった。

広告を非表示にする