「GAE アーカイブからインポート」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
==GAE アーカイブからインポート== | ==GAE アーカイブからインポート== | ||
− | [[Python][Google App Engine]] | + | [[Python]][[Google App Engine]] |
===zipimport=== | ===zipimport=== | ||
=====GAE で Django を動かすまでの遠い道のり・・・===== | =====GAE で Django を動かすまでの遠い道のり・・・===== |
2020年2月15日 (土) 08:19時点における版
目次
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 矢木浩人