Локальная разработка Google App Engine без импорта встроенной библиотеки

Я следовал краткому руководству, а затем просто клонировал hello_world из здесь. Я уже скачал SDK google_appengine из здесь. Я извлек его, и теперь у меня есть папка google_appengine вместе с hello_world

поэтому я выполняю это так:

введите здесь описание изображения

Очевидно, он работает хорошо, пока я не начну запрашивать localhost:8080. то я получил эту ошибку:

введите здесь описание изображения

что с этим не так? я что-то пропустил? google сказал, что я могу использовать встроенную библиотеку, не устанавливая ее вручную с помощью pip.

PS: это работает, когда я просто развертываю его в своем проекте в Google. а также это работает, если я вручную устанавливаю webapp2 внутри lib внутри hello_world, как описано здесь, затем запросите его локально.

моя версия Python Python 2.7.6 на Ubuntu 14.04 32bit

Пожалуйста, если кто-нибудь может решить это, я был бы признателен.


person Ahmad Muzakki    schedule 06.07.2016    source источник
comment
Насколько я помню, вы должны установить его вручную на свой локальный компьютер. Не уверен, баг это или нет. ОБНОВЛЕНИЕ: cloud.google.com/appengine/ docs/python/tools/ — здесь нет списка webapp2, но я могу подтвердить, что мне нужно установить его вручную.   -  person Dmytro Sadovnychyi    schedule 06.07.2016
comment
это должно быть предоставлено dev_appserver.py, потому что я вижу встроенную библиотеку в google_appengine/lib, но почему-то не включен в путь к среде   -  person Ahmad Muzakki    schedule 06.07.2016
comment
webapp2 указан здесь cloud.google.com/appengine/docs /питон/инструменты/. ваша ссылка - это библиотека, которая должна быть установлена ​​​​независимо, это не встроенная библиотека   -  person Ahmad Muzakki    schedule 06.07.2016
comment
lxmlи многие другие есть в обоих списках, так что по крайней мере некоторые из встроенных библиотек вам придется устанавливать вручную.   -  person Dmytro Sadovnychyi    schedule 06.07.2016
comment
Я думаю, вы упустили суть, там сказано, что lxml matplotlib и т. д. должны быть установлены вручную из-за зависимости от платформы, поэтому это означает, что webapp2 jinja2 и т. д. не нужно устанавливать вручную, верно?   -  person Ahmad Muzakki    schedule 06.07.2016


Ответы (2)


Похоже, это подтвержденная ошибка в SDK ядра приложения. В качестве временного обходного пути вы можете попробовать выполнить следующие действия:

Удаление следующих пакетов PIP решило эту проблему для меня.

sudo pip uninstall gcloud

sudo pip uninstall googleapis-common-protos

sudo pip uninstall protobuf

Уважайте эту ветку: https://groups.google.com/forum/?hl=nl#!topic/google-appengine/LucknWk8iaQ

Обязательно используйте правильный исполняемый файл pip, если вы используете virtualenv или у вас установлено несколько версий Python.

person Dmytro Sadovnychyi    schedule 06.07.2016

Спасибо @Dmytro Sadovnychyi за ответ. У меня не получается удалить эти пакеты, потому что я никогда не устанавливал их раньше, но это заставляет меня думать, что, возможно, встроенная библиотека конфликтует с другим пакетом, поэтому я решаю создать Virtual Environment. просто свежая среда, нет необходимости устанавливать какой-либо пакет.

активируйте среду, затем выполните dev_appserver.py hello_world, теперь она работает

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

person Ahmad Muzakki    schedule 06.07.2016
comment
В качестве альтернативы вы можете просто использовать SDK 1.9.36, пока не выйдет исправление, см. stackoverflow.com/questions/37840104/ - person Dan Cornilescu; 06.07.2016