Путь Python для запуска Google App Engine

Когда я устанавливаю SDK Google App Engine и запускаю программу запуска, он просит меня настроить местоположение python:

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


И когда я открываю Preferences, он запрашивает путь к исполняемому файлу Python:

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


Какой путь вставить и в чем разница:

  • C:\Python27\python.exe
  • C:\Python27\pythonw.exe



Ответы (5)


Похоже, Google App Engine не смог найти вашу установку Python. Он ищет Python, проверяя переменную среды PATH, поэтому лучше использовать ее.

Короткий ответ: используйте C:\Python27\pythonw.exe. Я только что установил последнюю версию «GoogleAppEngine-1.9.33.msi», и после того, как я запустил «Панель запуска Google App Engine» (C:\Program Files (x86)\Google\google_appengine\launcher\GoogleAppEngineLauncher.exe), в «Правка -> Настройки» я увидел «C:\Python35\pythonw.exe». (Это потому, что у меня есть папка Python 3.5 перед папкой Python 2.7 в моем параметре переменной среды Path.) Но дело в том, что программа запуска App Engine (или установщик) сама выбрала pythonw.exe вместо python.exe.

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

Но в качестве лучшего решения я бы предложил вам установить переменную среды Path, это предотвратит другие подобные проблемы в будущем.

Чтобы установить Python на Path, если он не установлен:

  1. Щелкните правой кнопкой мыши «Компьютер» (или «Мой компьютер») и выберите «Свойства системы»;
  2. Перейдите на вкладку «Дополнительно»;
  3. Нажмите кнопку "Переменные среды";
  4. Дважды щелкните переменную «Путь» в нижнем списке системных переменных;
  5. В открывшемся окне в "Значения" добавьте C:\Python27\;C:\Python27\Scripts; в начало строки. Убедитесь, что вы случайно ничего там не удалили!
  6. Нажмите «ОК» в этом окне и «ОК» в окне «Переменные среды», и все готово.

В качестве альтернативы в пункте 5 вы можете использовать PATH пользователя из верхнего списка. Я бы установил Python для всех пользователей, как я описал.

Теперь запустите Google App Engine через «Google App Engine Launcher» и посмотрите, есть ли в «Edit -> Preferences» у вас либо «Default if not set: C:\Python27\pythonw.exe», либо «Default if not set: C:\ Python27\python.exe», написанное под полем «Путь к Python». Если еще ничего похожего нет, то на PATH проверяет не лаунчер, а Installer. Теперь пришло время удалить «Google App Engine» и установить его снова. После этого все должно работать как положено. (Кстати, установщик проверяет наличие Python и других зависимостей, поэтому он должен сообщать об ошибках.)

Основное различие между python.exe и pythonw.exe заключается в следующем:

  • python.exe открывает окно консоли, когда модуль выполняется вместе с ним, или, если он запускается непосредственно из командной строки, выполняет модуль в текущем окне консоли, предотвращая любые дальнейшие команды, пока модуль не выйдет. Так что в основном предназначен для консольных приложений или отладки.
  • pythonw.exe, с другой стороны, предназначен для приложений с графическим интерфейсом или приложений без графического интерфейса, поэтому, если модуль выполняется с pythonw.exe, окно консоли не открыто, при запуске через текущую консоль модуль выполняется в отдельном процессе, а консоль доступны для дальнейших команд сразу. Недостаток заключается в том, что в этом случае вывод не предоставляется, т. е. ошибки не выводятся, так как нет окна консоли, связанного с запуском модуля Python.

Подробнее см.: официальные документы, глава из книги (небольшая, но информативная), < href="https://mail.python.org/pipermail/python-list/2001-September/082292.html" rel="nofollow noreferrer">список рассылки Python.

Что касается Google App Engine, на странице установки указано:

Вам потребуется Python 2.7 для использования SDK App Engine, поскольку сервер разработки — это приложение Python. Загрузите Python 2.7.X (не используйте более позднюю версию) с веб-сайта Python.

Так как сервер — это приложение без графического интерфейса, вероятно, именно поэтому App Engine выбирает pythonw.exe.

person Nikita    schedule 02.03.2016
comment
Большое спасибо за ответ! Однако мой вопрос так и остался без ответа: в чем между ними разница? Когда я их использую, я не вижу разницы в действии. Кстати, см. этот надежный справочник Эдварда Митчелла: App Inventor 2 базы данных и файлы. - person Mori; 03.03.2016
comment
@ Морри, извини, я не нашел этого в твоем исходном вопросе, но все равно обновил ответ. Надеюсь, что теперь он полностью решает вашу проблему. Вы не должны увидеть никакой разницы, потому что даже с python.exe окно консоли все еще может быть скрыто. P.S. Я не мог видеть страницу по ссылке, которую вы предоставили. - person Nikita; 03.03.2016
comment
Еще раз спасибо и извините за битую ссылку! Попробуйте этот и дайте мне знать, что вы думаете. - person Mori; 03.03.2016
comment
Я думаю, что либо они понятия не имеют, что pythonw.exe существует (например, странно, что они предлагают удалить весь python и заново установить только для исправления переменной path вместо того, чтобы исправлять ее напрямую), либо их программное обеспечение будет печатать отладочные сообщения на консоль и для этого им нужно использовать python.exe вместо pythonw.exe. - person Nikita; 03.03.2016

Согласно этому QA, pythonw кажется предпочтительным: https://code.google.com/p/googleappengine/issues/detail?id=11246

Вот похожий вопрос и ответ: pythonw.exe или python.exe?

python.exe — это консольное (терминальное) приложение для запуска CLI-скриптов.

pythonw.exe — это приложение с графическим интерфейсом для запуска сценариев с графическим интерфейсом или вообще без пользовательского интерфейса.

person tsuda7    schedule 25.02.2016
comment
Согласно этому QA, pythonw кажется предпочтительнее Но это наоборот: Отсутствуют предварительные условия для разработки App Engine!. python.exe — это консольное (терминальное) приложение для запуска сценариев типа CLI. Но даже если я использую pythonw.exe, я не вижу всплывающего окна терминала. - person Mori; 25.02.2016
comment
pythonw.exe не открывает окно, а python.exe показывает, согласно объяснению. - person tsuda7; 25.02.2016
comment
Извините за опечатку! Я имел в виду: даже если я использую python.exe, я не вижу всплывающего окна терминала. - person Mori; 25.02.2016

Из документации: https://docs.python.org/2/using/windows.html#executing-scripts

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

person Abhinav Ramakrishnan    schedule 01.03.2016

Сообщение об ошибке говорит python=None. Проверьте, можете ли вы выполнить из cmd python -V, чтобы убедиться, что ваша сборка Python доступна во всей системе. Как правило, GAE может автоматически найти вашу установку Python и подтвердить путь к Python перед установкой.

Попробуйте это руководство, если оно вам поможет. .

person rNov    schedule 29.02.2016

Pythonw.exe — это исполняемый файл, который не открывает консоль. Python.exe откроет консоль. Вы, вероятно, захотите использовать pythonw.exe в этом случае, потому что я не знаю, почему вы хотите, чтобы терминал был открыт для механизма приложения.

https://docs.python.org/2/using/windows.html

SDK App Engine также не нашел вашу установку Python. Вероятно, это потому, что у вас нет глобального env. объявлена ​​переменная.

person Community    schedule 04.03.2016