Python 2.7.2 и Google App Engine SDK 1.6.1 на Win 7 Home Premium не работают - PullRequest
9 голосов
/ 24 декабря 2011

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

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

Ответы [ 8 ]

3 голосов
/ 16 февраля 2012

В документации Google по настройке GAE с Python 2.7 есть некоторые проблемы.Если вы пытаетесь запустить базовое приложение "hello world" через интерфейс графического ядра приложения, после выполнения инструкций вы, вероятно, видите красный текст, а все кнопки выделены серым цветом?

Если это так, этопотому что в вашей программе 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" ??Я не знаю, возможно, я ошибаюсь.

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

2 голосов
/ 11 августа 2015

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

2 голосов
/ 29 октября 2012

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

0 голосов
/ 13 августа 2015

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

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

0 голосов
/ 27 сентября 2013

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

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

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

0 голосов
/ 13 июля 2013

У меня была похожая проблема; оказалось, что моя проблема была не из-за переменных окружения.

GAE отладки:

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

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

При копировании текста из учебника Google "Здравствуй, мир" в начале моего YAML-файла был невидимый скрытый символ (я нашел его с помощью kdiff, инструмента сравнения). После удаления этого персонажа мое приложение запустилось (и показалось не красным в графическом интерфейсе GAE Launcher).

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

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

0 голосов
/ 01 июля 2012

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

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

Кстати, у руководства helloworld в Google нет проблем.

0 голосов
/ 24 декабря 2011

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

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

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

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

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

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

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