AppEngine: пошаговая отладка - PullRequest
       2

AppEngine: пошаговая отладка

18 голосов
/ 21 декабря 2010

Работая с AppEngine локально (то есть используя dev_appserver.py), есть ли возможность пошаговой отладки? Это слишком старый способ использовать logging.info () или аналогичные функции, чтобы показывать значения всех переменных в коде и решать, где находится ошибка.

Ответы [ 4 ]

15 голосов
/ 21 декабря 2010

Чтобы немного рассказать о первом предложении Codeape: поскольку dev_appserver.py работает с stdin, stdout и stderr, для установки «точки останова кода» требуется немного больше работы. Это делает трюк для меня:

import sys
for attr in ('stdin', 'stdout', 'stderr'):
    setattr(sys, attr, getattr(sys, '__%s__' % attr))
import pdb
pdb.set_trace()

Вам придется запускать dev_appserver.py из командной строки, а не через GUI App Engine Launcher. После выполнения строки pdb.set_trace() вы попадете в отладчик pdb в этот момент.

12 голосов
/ 21 декабря 2010

Eclipse PyDev поддерживает отладку и AppEngine.

http://code.google.com/appengine/articles/eclipse.html

8 голосов
/ 21 декабря 2010

Если локальный процесс appengine является обычным процессом Python, у вас есть несколько вариантов:

  1. В своем коде укажите «точки останова»: import pdb; pdb.set_trace(). Запустите dev_appserver.py как обычно, и отладчик python остановится, когда достигнет строки с кодом.

  2. Выполнить dev_appserver.py в pdb. Со скорлупы: $ python -m pdb dev_appserver.py. Чтобы установить точку останова, используйте команду b filename.py:linenumber. Затем используйте команду c для продолжения. Смотри http://docs.python.org/library/pdb.html#debugger-commands

См. Документацию модуля pdb .

3 голосов
/ 07 января 2015

PyCharm Professional Edition позволяет выполнять пошаговую отладку «из коробки».

Если вы хотите выполнить несколько шагов настройки, бесплатная версия PyCharm Community Edition, также можно настроить для работы с питоном Google App Engine.Вы не сможете воспользоваться всеми преимуществами PyCharm Professional Edition, такими как развертывание, но сможете выполнять пошаговую отладку и получать навигацию по коду и работать с автозаполнением.

Чтобы включить отладку, отредактируйтеPyCharm Запуск / отладка конфигурации путем установки:

  • Сценарий: dev_appserver.py
  • параметров сценария App Engine: --automatic_restart=no --max_module_instances="default:1" .
  • Рабочий каталог: папка базового проектатот, который содержит файл app.yaml)

Для получения более подробных инструкций, объяснений и того, как получить завершение кода в проекте PyCharm CE, см. http://www.enkisoftware.com/devlogpost-20141231-1-Python_Google_App_Engine_debugging_with_PyCharm_CE.html.

Если вывы работаете в Windows, и вы хотите использовать PyTools (сообщество Microsoft Visual Studio) для отладки python для GAE, см. http://www.enkisoftware.com/devlogpost-20140814-1-Python_Google_App_Engine_debugging_with_PyTools.html

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