!!!GAE アーカイブからインポート [Python][Google App Engine] !!zipimport ::GAE で Django を動かすまでの遠い道のり・・・ *http://typea.info/blg/glob/2009/09/gae_django.html ::Zipimport を使って App Engine で Django 1.0 を使用する *http://code.google.com/intl/ja/appengine/articles/django10_zipimport.html ""zipimport という機能をつかうことによって、zipファイルからPythonモジュールを読み込。ただ、GAE版 zipimport は pycが使えないなどの制約があるよう。 !注意事項 *モジュールが初めてインポートされる際は、モジュール アーカイブはより多くの CPU 時間を必要とします。 *インポートは同じアプリケーション インスタンスに対する要求に備えてメモリにキャッシュされ、アーカイブからインポートされたモジュールは圧縮されずにコンパイルされた状態でキャッシュされます。 *このため同じインスタンスのその後のインポートでは、解凍やコンパイル処理による CPU のオーバーヘッドが発生しません。 *App Engine で実行する zipimport は .py ファイルのみサポートしています。コンパイル済み .pyc ファイルはサポートしていません。 *ハンドラ スクリプトの役割はパスにモジュール アーカイブを追加することなので、ハンドラ スクリプト自体をモジュール アーカイブに格納することはできません。 *Python のその他のコードはすべてモジュール アーカイブに格納できます。 !例 *zip ファイルを作成 *アプリケーションのルートディレクトリに、zip ファイルを配置 *main.py に以下の記述を追加。 # Add Django 1.0 archive to the path. django_path = 'django.zip' sys.path.insert(0, django_path)