GAE アーカイブからインポート
ナビゲーションに移動
検索に移動
目次
GAE アーカイブからインポート
zipimport
GAE で Django を動かすまでの遠い道のり・・・
Zipimport を使って App Engine で Django 1.0 を使用する
<blockquote>zipimport という機能をつかうことによって、zipファイルからPythonモジュールを読み込。ただ、GAE版 zipimport は pycが使えないなどの制約があるよう。</blockquote>
注意事項
- モジュールが初めてインポートされる際は、モジュール アーカイブはより多くの 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)
© 2006 矢木浩人