Python 2.7.2 и Google App Engine SDK 1.6.1 на Win 7 Home Premium не работают

Я установил Python 2.7.2 (Win7 32-bit) и Google App Engine SDK 1.6.1 для Win7 на 64-битной системе под управлением Win7 Home Premium. Расположение папок по умолчанию для Python и GAE. Когда я пытаюсь запустить проект helloworld, как описано в документе «Начало работы с Google Python», кнопка « Поиск » Launcher никогда не активируется. GAE SDK должен отлично работать с Python 2.7.

Есть ли полный список переменных окружения, необходимых для работы этой установки? До сих пор все сообщения, которые я видел, – от пользователей, которые прошли этот абсолютно базовый шаг.

В документах Google для настройки GAE с Python 2.7 есть некоторые проблемы. Если вы пытаетесь запустить базовое приложение «привет мир» через интерфейс GUI App Engine, следуя инструкциям, вы, вероятно, видите красный текст, и все кнопки неактивны?

Если это так, это связано с тем, что в вашей программе helloworld.py есть ошибки – вот почему инструкции Google не удались.

Заявление об импорте, которое они имеют в инструкциях:

 import webapp2 

Это не удается, он должен указывать на локальный экземпляр веб-приложения GAE. Кроме того, их программа Python 2.7 является неполной. Если вы посмотрите на пример Python 2.5, вы увидите полную программу (вам может потребоваться изменить webapp -> webapp2 для Python 2.7?):

 from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class MainPage(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Hello, webapp World!') application = webapp.WSGIApplication( [('/', MainPage)], debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main() 

Последняя вещь, файл YAML в инструкциях Google относится к «helloworld.app» – я не могу это подтвердить, но я думаю, что это должно быть «helloworld.py» ?? Я не знаю, возможно, я ошибаюсь.

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

Я столкнулся с той же проблемой, кнопка обзора отключена. Я запустил команду dev_appserver.py helloworld в командной строке, а затем открыл localhost: 8080 в моем браузере приветствие мировой программы прошло успешно.

Я сравнил пример helloworld с демонстрацией гостевой книги и обнаружил, что элемент приложения является ключевым. Я добавил строку вверху приложения app.yaml «application: helloworld», и пример helloworld начал работать в Google App Engine (GAE). Обратите внимание, что элемент 'application' должен быть необязательным, как определено в ссылке app.yaml. Похоже, что это необязательно, если вы используете командную строку, и это необязательно, если вы используете GAE.

Вы видите что-нибудь в журналах GAE SDK?

Какой браузер вы используете? Каков ваш браузер по умолчанию?

Параметры безопасности по умолчанию в IE требуют, чтобы вы разрешили доступ к интрасети.

Недавно мне пришлось перестроить свой бокс Win7. Chrome был моим браузером по умолчанию. Когда я установил GAE SDK v1.6.1, у меня была аналогичная проблема с тем, что вы описали.

Я проверил журналы и попробовал настройку браузера, чтобы решить эту проблему.

Мое воспоминание состояло в том, что после того, как я снова включил IE 9 в свой браузер по умолчанию, я увидел ошибку безопасности в интрасети. После включения доступа к сайтам интрасети, таким как localhost: 8080, все начало работать нормально, но запуск был медленным. Затем я снова сделал Chrome своим браузером по умолчанию, и запуск стал немного быстрее и надежнее.

Я совершенно уверен, что это потому, что вы изменили кодировку с ANSI на другой тип (например, UTF-8) на app.yaml,

замените его обратно на ANSI, затем вы можете запустить проект в google-приложении.

BTW, учебник helloworld по google не имеет проблем.

У меня была аналогичная проблема; оказалось, что моя проблема связана не с переменными среды.

Отладка GAE:

Прежде всего позвольте мне сказать, что если у вас возникли проблемы с GAE, я настоятельно рекомендую запустить с использованием CLI, google_appengine/dev_appserver.py . Существует большая трассировка стека по причине того, что GAE не работает (вместо просто красной ссылки в GUI Launcher GUI), которая укажет вам в правильном направлении.

Скрытые плохие персонажи:

При копировании текста из учебника google «hello world» в начале моего файла YAML был невидимый скрытый символ (я нашел его с помощью kdiff, инструмента diff). После удаления этого символа мое приложение запустилось (и показало, что оно не красное в GUI Launcher GUI).

Переменные среды:

Что касается вашего первоначального вопроса, единственной переменной окружения, которую я установил, является моя переменная PATH, где я добавил папку моего исполняемого файла python (в моем случае C: \ Python27), чтобы я мог запускать файлы python без указания полного пути на Python. Позвольте мне повторить, однако, что я не верю, что это причина вашей проблемы, но вы можете более прямо подтвердить это с помощью CLI.

Как и pghprogrammer4 выше , я решил эту проблему, удалив плохие символы в моих файлах. Они были невидимы в моем обычном текстовом редакторе (возвышенный текст 2), но я нашел их в редакторе с шестнадцатеричным редактором. Я знал, что искать, потому что я заметил пробел в начале моего гостевого приложения (несколько руководств). Поэтому я посмотрел на отладку в Chrome и показал характер Zero Width Space . Сайт Unicode имеет шестнадцатеричное значение этого символа, поэтому я искал его (не нужно было искать далеко, это были первые три байта файла) и удалил его. К счастью, Sublime Text 2 имеет шестнадцатеричный режим, но вы можете использовать любой шестнадцатеричный редактор для поиска и удаления плохих символов.

Я уверен, что это связано с очень конкретным методом копирования и вставки с сайта Google. Это не случилось со мной в примере Hello World, потому что я набрал это вручную. Затем он появился в одном из моих файлов, в результате чего CSS не загружался. После этого он заставил Google App Engine Launcher задуматься о том, что мой проект имеет недостающие файлы (краснеет в пусковой установке). Я вернулся к рабочей версии (просто отменив в текстовом редакторе) и скопировал каждый набор новых команд в файл из учебника, надеясь поймать бит скрипта, который меня преследовал. Но когда я добрался до конца, все работало. Я ОБЕСПЕЧИВАЮ, что эта ошибка возникает, когда вы копируете и вставляете текстовое поле ANTIRE из учебного сайта Google App Engine и вставляете его в один из ваших файлов. Я подозреваю, что символ ZWSP существует на этом сайте в качестве первого символа в кодах или что-то в этом роде, но уже поздно, и я пока не буду рассматривать его дальше.

Я думаю, вы должны просто набрать учебники – это, вероятно, лучший способ научиться в любом случае.

Я сделал два изменения вместе – 1. добавил строку вверху файла app.yaml «application: helloworld» 2. изменил последнюю строку в app.yaml «script: helloworld.app» на «script: helloworld.py»

мой GAE начал работать. Однако, чтобы исключить проблему, я «отключил» оба изменения, оказывается, что второе изменение – изменение helloworld.app на helloworld.py делало магию