2009-08-22 17 views
0

私はDjango < - > pyamfアプリケーションをapp-engine-patchにマイグレーションしたいので、を使ってpyamfでapp-engine-patchを使用しようとしています。パッチ< - > pyamf。pyamfを使ったapp-engine-patch =エンコードされたモジュールがありません

私は、コードの一行だけで私のgateway.pyを作成したことである私が今持っている

:ちょうどテストに

import pyamf 

私はpyamfを使用して、私はそのURLに自分のブラウザをポイントしたとき、私は空白のページを取得することができます/ファイルそれはよさそうだ(何の輸入問題とpyamfが検出されなかった)が、私は「manage.pyのrunserver」でサーバを起動し、コマンドプロンプトに私のようなエラーの束を見て:

... 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2238, in Dispatch 
    self._module_dict) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2156, in ExecuteCGI 
    reset_modules = exec_script(handler_path, cgi_path, hook) 
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2052, in ExecuteOrImportScript 
    exec module_code in script_module.__dict__ 
    File "C:\Users\[my app-engine-patch application path]\common\appenginepatch\main.py", line 16, in <module> 
    patch_all() 
    File "C:\Users\[my app-engine-patch application path]\common\appenginepatch\appenginepatcher\patch.py", line 29, in patch_all 
    patch_app_engine() 
    File "C:\Users\[my app-engine-patch application path]\common\appenginepatch\appenginepatcher\patch.py", line 193, in patch_app_engine 
    from django.utils.encoding import force_unicode, smart_str 
ImportError: No module named encoding 

任意のpyamfあります< - > app-engine-patch gurusが私に何かヒントを与えることができるかwrどうすればpyamfをapp-engine-patchで動作させることができますか?

答えて

1

あなたのアプリケーションエンジンスタートアップコードでDjango 1.0.2を有効にしていますか? App Engineには0.9.6との互換性があります(下位互換性もあります)。0.9.6がデフォルトになります。これを修正するために必要なことは、起動時には次のようになります。

「その後のdjangoパッケージのインポートは、Django 1.0.2を使用します。」 1.0.2をSDKと共に個別にインストールする必要があります。すべての指示hereを参照してください。

+0

私はApp Engine Djangoを使用していません。同じパッケージ内にZip Djangoが付属しているapp-engine-patchを使用しています。デフォルトのアプリと私のモデルは* pyamfを有効にするまで動作しています。私がpyamfをインポートするとすぐに私はエラーが発生します "エンコーディングされたモジュールはありません" –

+0

pyamfはsys.pathやその他のインポートの面でいくつかのトリックを行う必要があります。 pyamfを起動する前に 'sys.modules ['django.utils.encoding']'が正しく定義されていることを確認したらどうなりますか?(pyamfを起動する前に 'django.utils import encoding' ? pyamfがsys.modulesからエントリを削除することは不可能ではありませんが、これは試してみる価値のある回避策かもしれません。 –

+0

あなたは賢明な人です。Alex :-) from django.utils pyamfの呼び出しが魅力のように動作する前に、エンコードをインポートします。助けてくれてありがとう !! –

関連する問題