Импорт memcache из google.appengine.api без использования dev_appserver.py - PullRequest
4 голосов
/ 07 февраля 2012

Согласно документации Google AppEngine, следует импортировать memcache следующим образом:

from google.appengine.api import memcache

Я использую virtualenv и создаю несколько сценариев для проверки библиотеки, созданной для AppEngine.Я не пытаюсь протестировать веб-сайт, я пытаюсь протестировать определенную библиотеку, которая использует memcache.Очевидно, без использования dev_appserver.py я получаю ImportError: No module named google.appengine.api.

Я посмотрел на источник из dev_appserver.py, но сначала я хотел бы знать, есть ли более простойрешение, которое не требует переписывания PATH, как это делает Google.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Простого решения не существует, как минимум вам придется настраивать пути Python.Это все, что делает оболочка dev_appserver, на которую вы ссылаетесь.Для тестирования кода / библиотек я обычно пишу простую оболочку, которая делает в основном то же самое, что и dev_appserver.

В некоторых случаях вам действительно нужно пойти дальше и инициализировать заглушки.Если вы выполните код dev_appserver, вы сможете увидеть, как это делается.

2 голосов
/ 07 февраля 2012

В целях тестирования мы всегда создаем локальную проверку библиотеки AppEngine следующим образом:

GAE_VERSION=1.6.2

resttest: dependencies lib/google_appengine/google/__init__.py
    sh -c "PYTHONPATH=lib/google_appengine/ python tests/resttest.py --hostname=$(TESTHOST) --credentials-user=$(CREDENTIALS_USER)"

lib/google_appengine/google/__init__.py:
    curl -s -O http://googleappengine.googlecode.com/files/google_appengine_$(GAE_VERSION).zip
    unzip -q google_appengine_$(GAE_VERSION).zip
    rm -Rf lib/google_appengine
    mv google_appengine lib/
    rm google_appengine_$(GAE_VERSION).zip

dependencies:
    git submodule update --init
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...