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.
Есть ли полный список переменных окружения, необходимых для работы этой установки? До сих пор все сообщения, которые я видел, – от пользователей, которые прошли этот абсолютно базовый шаг.
- Как сделать окно с кнопками в python
- GAE Python – PyCrypto – Нет модуля с именем winrandom
- Запись 0 символов в дескриптор файла
- Запуск ярлыка под окнами
- Избегание raw_input для нажатия клавиш во время цикла для окон
В документах 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 делало магию
- Python: почему функции в математическом модуле принимают десятичные объекты в качестве аргументов?
- Сообщение Pylint: недопустимое имя константы (недопустимое имя)
- быстрый расчет размера папки в Python в Windows
- Python – Как открыть общий доступ к Windows с использованием имени пользователя и пароля
- Обнаружение запуска скрипта из командной строки или «двойной щелчок» в Windows
- Как понизить установленную версию «pip» на окнах?
- Как бросить окно ошибки в Python в Windows
- Проверьте, существует ли PID в Windows с Python, не требуя библиотек
- вкладка обновления хрома окна x 0 (или текущая вкладка) через командную строку
- Как я могу зарегистрировать код с помощью другого clsid?
- Создание автономных приложений python