ラベル GAE の投稿を表示しています。 すべての投稿を表示
ラベル GAE の投稿を表示しています。 すべての投稿を表示

2011-10-05

Snow Leopard + python2.5に、PILとsslモジュールを入れる



MacBook ProにWindows7をインストールするために、Boot Campでパーティションを切ろうとしたら失敗したため、リカバリしてOSX Snow Leopardを再インストールすることになった。開発環境を再構築するのには時間がかかるし神経も消耗する。

Google AppEngine(Python)の開発環境を整えるのがとくに大変だ。PILとsslをインストールしようとしたのだが、easy_installを使っても、setup.pyを使っても失敗してしまった。昔どうやってインストールしたのかよく覚えていないが、gcc4.0を使ってコンパイルしたような記憶がおぼろげにある。おそらく、python2.5が古いXcodeでビルドされているため、gcc4.0を使ってコンパイルしないとインストールできないということなのだろう。

Xcode4にはgcc4.0が含まれていないので、まずはXcode3をインストールした(gcc-4.0のためだけにXcode3をまるごと入れた)。そして、
    export CC=/usr/bin/gcc-4.0
とターミナルに入力してから、easy_installやらsetup.pyやらを使ったら、なんとかインストールできたようだ。

2011-07-26

AppEngineのAsync Datastore APIは積極的に使いたい

Google AppEngineの進化は速い。久しぶりにドキュメントを見ると新しい機能がたくさん追加されていて驚くことがある。昔つくったWebサービスも、新しい機能を使ってより良いものにできる場合がある。

すでに最新の機能というわけではないのだが、Async Datastore APIを使えば、従来のコードをちょっと換えるだけでレスポンスを速くすることができるかもしれない。AppEngineは、データの読み込みは速いが、書き込みや削除に時間がかかるので、非同期化できる部分は非同期化するのが望ましい。db.put(model) と書いていた部分を、 db.put_async(model) と書き換えるだけの修正でも、効果が期待できる。

2010-11-24

appengine開発用にubutu10.4にpythonをインストールする

ubutu10.4で、google app engineの開発環境を整えようとしているが、思ったよりも厄介だ。
まず、python2.5をソースコードからビルドする必要がある。
だがこれだけでは不十分で、gzipのインポートに失敗してしまう。zlib1g-devをインストールした後でpython2.5を再インストールする。
すると今度は、sqlite2のimportでエラーになる。libsqlite2-devをインストールして、pythonを再インストール。
これでもまだダメで、AttributeError: 'module' object has no attribute 'HTTPSHandler'というエラーがでる。そこで、libssl-devをインストールして、pythonを再インストール。
とりあえずこれで動作するようになった。

Python2.5.2をソースコードをビルドしてインストールするには、次のコマンドを打ち込む。



sudo apt-get install build-essential gcc
cd Downloads
wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
tar -xvzf Python-2.5.2.tgz
cd Python-2.5.2
./configure --prefix=/usr/local/python2.5
make 
make test 
sudo make install sudo 
ln -s /usr/local/python2.5/bin/python /usr/bin/python2.5

(間違ってるけど正しいの忘れた)