次のようにmemcacheを使用するライブラリ(記憶済み)を使用したい:import memcache
App Engine では、memcache を次のようにインポートする必要があります。from google.appengine.api import memcache
したがって、dev_appserver.py で実行すると、次のエラーが発生します。ImportError: No module named memcache
このライブラリを変更せずに使用できますか?
次のようにmemcacheを使用するライブラリ(記憶済み)を使用したい:import memcache
App Engine では、memcache を次のようにインポートする必要があります。from google.appengine.api import memcache
したがって、dev_appserver.py で実行すると、次のエラーが発生します。ImportError: No module named memcache
このライブラリを変更せずに使用できますか?
簡単に言えば、モジュールを を使用してローカル インスタンスで動作させることができたとしても、dev_appserver.py
Google がサーバー環境を管理しているため、コードをホスティング サービスにアップロードするときにのみ、サポートされているモジュールを使用できます。こちらをご覧ください。
長い答えは、パッケージをインストールimport memcache
する必要があるということです。memcache
代わりに Google が提供する memcache モジュールを使用したい場合は、それを に変更できますがfrom google.appengine.api import memcache
、Google の memcache は、記憶されている標準の Python memcache パッケージとは実質的かつ重要な違いがある可能性があり、エラーをスローしたり、まったく機能しない可能性があります。 . さらに、作業を覚えたとしても、サポートされているサードパーティのライブラリではないため、Google のサーバーでは使用できません (上記を参照)。
アプリ エンジンの memcache が memcached ライブラリと同一であると仮定します。したがって、memcache.py モジュールを次のように作成します。
from google.appengine.api.memcache import *
そして、memcacheをインポートした後、memcache.set()、memcache.get()などを使用できるようになります。
jayhendren の回答をさらに明確にするには、GAE の memcache サービスを使用する予定がある場合は、次を使用する必要があります。
google.appengine.api から memcache をインポート
オープン ソースの memcache ライブラリは使用できません。標準の python memcache lib を使用できる唯一のシナリオは、独自の memcache サービスをどこか (Compute Engine など) で実行していて、ソケット経由でそれに接続したい場合です。あなたはそうしていないと思います。
GAE の組み込み memcache サービスを使用する場合: GAE の memcache lib で定義されている API と標準の python memcache libs には違いがあるため、memorized にいくつかの小さな変更を加えて、GAE memcache と正常に通信できるようにする必要があります。図書館。ほとんどの場合、開発者向けの機能は標準の python lib と同じです。動作するようになったら、お知らせください。
覚えているものをインポートする前に、GAE API モジュールのパスで sys.path を手動で変更してみてください:
sys.path.insert(0, '/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/')
暗記についてはわかりませんが、
import memcache
動作します。