2008年4月19日土曜日

TigerでGAE

TigerでGAEのHelloWorldを動かす。

まず Google App Engine SDK をダウンロードして インストールを試みるが

python2.5がないといわれる。 /opt以下もチェックしてるようなので MacPortsでインストールしても大丈夫そうだ。

$ sudo port install python25

すると、ビルドできない。 調べるとXcodeをupgradeする必要があるらしい。

ADC にいって 3.0はLeopard用なので2.5をDownload。

Xcodeを2.5にupgradeしたら python25のビルドは成功。

そして、GAE SDKもインストールできた。

Hello, World! - Google App Engine - Google Code にしたがって helloworld.pyとapp.yamlをhelloworldフォルダにつくり

$ dev_appserver.py ../helloworld/

するが

Error: Python 2.3 is not supported. Please use version 2.5 or greater.

といわれる。

dev_appserver.pyは

$ which dev_appserver.py
/usr/local/bin/dev_appserver.py

にあって

$ head -1 /usr/local/bin/dev_appserver.py 
#!/usr/bin/env python

envでpythonを探してる。 MacPortsのpythonはどこへ?

/opt/local/binの下をみると /opt/local/bin/python2.5 と python2.5というファイル名でインストールされていた。

/opt 以下を汚したくないので

$ sudo ln -s /opt/local/bin/python2.5 /usr/local/bin/python

と /usr/local/binの下に pythonというファイル名でシンボリックリンクを作成。

dev_appserver.pyを起動すると

ImportError: No module named _md5

といわれる。 調べるとpy25_hashlibが必要らしい。

$ sudo port install py25-hashlib

してdev_appserver.pyを起動すると

AttributeError: 'module' object has no attribute 'HTTPSHandler'

といわれる。

こんどはpy25-socket-sslが必要みたい。

$ sudo port install py25-socket-ssl

して、起動成功。

http://localhost:8080/にアクセスして Hello, world! が表示された。

つまり、GAE SDKをTigerで動かすには

  • Xcodeを2.5にupgrade
  • MacPortsのpython25, py25-hashlib, py25-socket-ssl
  • MacPortsのpython2.5をpythonというファイル名でパスを通す

が必要。

コメント(0):