トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

GAE アーカイブからインポート



目次



記事一覧

キーワード

GAE アーカイブからインポート

[Python][Google App Engine]

 zipimport

GAE で Django を動かすまでの遠い道のり・・・
Zipimport を使って App Engine で Django 1.0 を使用する

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)



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.