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

MyMemoWiki

「GAE アーカイブからインポート」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
1行目: 1行目:
==GAE アーカイブからインポート==
+
==[[GAE アーカイブからインポート]]==
 
[[Python]] | [[Google App Engine]] |  
 
[[Python]] | [[Google App Engine]] |  
 
===zipimport===
 
===zipimport===
=====GAE で Django を動かすまでの遠い道のり・・・=====
+
=====GAE で [[Django]] を動かすまでの遠い道のり・・・=====
 
*http://typea.info/blg/glob/2009/09/gae_django.html
 
*http://typea.info/blg/glob/2009/09/gae_django.html
=====Zipimport を使って App Engine で Django 1.0 を使用する=====
+
=====Zipimport を使って App Engine で [[Django]] 1.0 を使用する=====
 
*http://code.google.com/intl/ja/appengine/articles/django10_zipimport.html
 
*http://code.google.com/intl/ja/appengine/articles/django10_zipimport.html
  
<blockquote>zipimport という機能をつかうことによって、zipファイルからPythonモジュールを読み込。ただ、GAE版 zipimport は pycが使えないなどの制約があるよう。</blockquote>
+
<blockquote>zipimport という機能をつかうことによって、zipファイルから[[Python]]モジュールを読み込。ただ、GAE版 zipimport は pycが使えないなどの制約があるよう。</blockquote>
  
 
====注意事項====
 
====注意事項====
15行目: 15行目:
 
*App Engine で実行する zipimport は .py ファイルのみサポートしています。コンパイル済み .pyc ファイルはサポートしていません。
 
*App Engine で実行する zipimport は .py ファイルのみサポートしています。コンパイル済み .pyc ファイルはサポートしていません。
 
*ハンドラ スクリプトの役割はパスにモジュール アーカイブを追加することなので、ハンドラ スクリプト自体をモジュール アーカイブに格納することはできません。
 
*ハンドラ スクリプトの役割はパスにモジュール アーカイブを追加することなので、ハンドラ スクリプト自体をモジュール アーカイブに格納することはできません。
*Python のその他のコードはすべてモジュール アーカイブに格納できます。
+
*[[Python]] のその他のコードはすべてモジュール アーカイブに格納できます。
  
 
====例====
 
====例====
22行目: 22行目:
 
*main.py に以下の記述を追加。
 
*main.py に以下の記述を追加。
  
  # Add Django 1.0 archive to the path. django_path = 'django.zip'
+
  # Add [[Django]] 1.0 archive to the path. django_path = 'django.zip'
 
   
 
   
 
  sys.path.insert(0, django_path)
 
  sys.path.insert(0, django_path)

2020年2月16日 (日) 04:26時点における最新版

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

Python | Google App Engine |

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)