google.appengine.ext Модуль Python ImportError Нет модуля с именем google.appengine.ext

Python 2.7.6, клиентская библиотека API Google для Python для Google App Engine, Google Руководство для разработчиков

Я просматриваю документацию Google и пытаюсь воспроизвести их пример. Когда я запускаю команду:

from google.appengine.ext import webapp

из Python Shell я получаю сообщение об ошибке:

No module named google.appengine.ext

Очевидно, что этого файла нет на моем компьютере. Я искал файл на своем жестком диске и ничего не нашел. Я запустил easy_install, чтобы установить API Google, как указано в официальном видеоролике Google Quick Start. Я не уверен, устарела ли документация Google или что происходит. Где взять google.appengine.ext? Я предполагаю, что моя проблема просто в том, что у меня нет этого модуля.


person Alan Wells    schedule 02.01.2014    source источник
comment
См. мой ответ здесь: [GAE работает локально](stackoverflow.com/questions/38195967/ )   -  person mtisz    schedule 05.07.2016


Ответы (4)


Вам может понадобиться добавить следующую строку, если вы запускаете автономные тесты

 sys.path.append('/usr/local/google_appengine/')
 sys.path.append('/usr/local/google_appengine/lib/yaml/lib/')
 if 'google' in sys.modules:
     del sys.modules['google']
person varun    schedule 04.01.2016
comment
Это решение не работает для моего. Я пытаюсь from google.appengine.ext import ndb без dev_server и не понимаю почему. Есть идеи? - person Juan Antonio; 06.06.2016
comment
Только что отредактировал мой ответ (добавил sys.modules['google']). Попробуй это - person varun; 07.06.2016
comment
Я просто пробую это, и у меня не работает. Возможно, у меня есть другие проблемы, я только хочу попробовать Google Datastore без запуска devserver. - person Juan Antonio; 08.06.2016

Я видел ответ @varun на другой вопрос, и он использует insert вместо append, и тогда это работает отлично, по крайней мере, для меня.

sys.path.insert(1, '<yourFolder>/google_appengine')
sys.path.insert(1, '<yourFolder>/google_appengine/lib/yaml/lib')
if 'google' in sys.modules:           
    del sys.modules['google']
person Juan Antonio    schedule 08.06.2016

В примерах App Engine предполагается, что у вас установлен SDK App Engine:

https://developers.google.com/appengine/downloads

https://developers.google.com/api-client-library/python/start/installation#appengine

person Joe Gregorio    schedule 02.01.2014
comment
Спасибо. На самом деле я загрузил и установил оба из них, а также google-api-python-client-gae-N.M.zip. И я нашел файлы, которые, по моему мнению, необходимы. Я предполагаю, что проблема в том, что PATH, определенный в моей операционной системе, не указывает на эти папки, поэтому, когда я запускаю строку кода Python в Python Shell из папки C:\Python27, команда IMPORT не находит этот модуль appengine. Похоже, у меня есть файлы SDK appengine в папке PROGRAM FILES\GOOGLE\GOOGLE_APPENGINE\LIB\GOOGLE-API-PHTHON-CLIENT\OATH2CLIENT. Я предполагаю, что это было настроено с помощью Launcher. - person Alan Wells; 02.01.2014
comment
Для App Engine вам необходимо запустить свой код на веб-сервере разработки: developers.google. .com/appengine/docs/python/tools/devserver. После запуска вы можете использовать предоставленную интерактивную консоль: developers.google.com. /appengine/docs/python/инструменты/ - person Joe Gregorio; 02.01.2014
comment
Я использовал средство запуска App Engine, в котором есть кнопка BROWSE, которая открывает мое приложение в моем веб-браузере по адресу http://localhost:8080/. Я предполагаю, что это то же самое, что и запуск командной строки: dev_appserver.py myapp - person Alan Wells; 03.01.2014
comment
@JoeGregorio ПОЖАЛУЙСТА, сделайте это ответом!! Я потратил 4 часа на поиски этого... пример кода выглядит так, как будто SDK автоматически устанавливает кучу модулей, которые вы можете просто протестировать и использовать в обычном режиме! - person Vincent Buscarello; 24.12.2016

google.appengine.ext означает google/appengine/ext, это точно так же, как каталог пакетов в Eclipse.

person user3333736    schedule 09.09.2014