| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
ページの作成:「==GAE アーカイブからインポート== [Python][Google App Engine] ===zipimport=== =====GAE で Django を動かすまでの遠い道のり・・・===== *http:…」
==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

<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)

案内メニュー