2009-06-12 1 views

答えて

4

http://code.google.com/appengine/docs/python/overview.html

からPythonランタイム環境には、Python 2.5.2を使用しています。

Pythonランタイム環境のすべてのコードは、純粋なPythonでなければならず、コンパイルする必要のあるC拡張やその他のコードは含まれていない必要があります。

この環境には、Python標準ライブラリが含まれています。一部のモジュールは、ネットワーキングやファイルシステムへの書き込みなど、App Engineでコア機能がサポートされていないため、無効になっています。さらに、osモジュールは使用できますが、サポートされていない機能は無効です。サポートされていないモジュールをインポートしたり、サポートされていない機能を使用しようとすると、例外が発生します。

標準ライブラリの一部のモジュールが、App Engineで動作するように置換またはカスタマイズされています。たとえば、次のPythonの標準ライブラリとApp Engineのライブラリに加えて

* cPickle is aliased to pickle. Features specific to cPickle are not supported. 
* marshal is empty. An import will succeed, but using it will not. 
* These modules are similarly empty: imp, ftplib, select, socket 
* tempfile is disabled, except for TemporaryFile which is aliased to StringIO. 
* logging is available and its use is highly encouraged! See below. 

、ランタイム環境には、次のサードパーティのライブラリが含まれています

* Django 0.96.1 
* WebOb 0.9 
* PyYAML 3.05 

あなたが持つ他の純粋なPythonライブラリを含むことができ、アプリケーションディレクトリにコードを挿入します。アプリケーションディレクトリ内のモジュールのディレクトリへのシンボリックリンクを作成すると、appcfg.pyはリンクをたどり、モジュールをあなたのアプリケーションに含めます。

Pythonモジュールのインクルードパスには、アプリケーションのルートディレクトリ(app.yamlファイルを含むディレクトリ)が含まれています。アプリケーションのルートディレクトリに作成したモジュールは、ルートからのパスを使用して使用できます。 .pyファイルをサブディレクトリに作成することを忘れないでください。そうすれば、Pythonはサブディレクトリをパッケージとして認識します。

関連する問題