Как отлаживать приложения Web2py?
Вопрос
Возможно ли это?Под отладкой я подразумеваю установку точек останова, проверку значений и продвижение шаг за шагом.
Решение
Вы можете выполнять удаленную отладку веб-приложений python по TCP / IP с помощью winpdb .
(ссылка не работает с июня 2019 года. Попробуйте PyPI winpdb )
Другие советы
Я не использовал web2py, но если он запускается в окне терминала, вы можете использовать стандартный материал pdb. Добавьте эту строку где-нибудь в своем коде:
import pdb; pdb.set_trace()
Это вызовет отладчик и сломается. Затем вы можете использовать PDB команды: n для перехода к следующей строке, l выводить код, s переходить в функцию, p выводить значения и т. д.
Можно отлаживать приложения, созданные на Web2py, используя следующую настройку:
<Ол>Вы также можете использовать Visual Studio 2010.Вот как это делается:
- Скачать и установить Инструменты Python для Visual Studio.
- Создайте новый проект на основе существующего кода (Файл > Создать > Проект Из существующего кода...)
- Укажите вашу папку web2py и используйте значения по умолчанию.
- Щелкните правой кнопкой мыши на web2py.py и выберите Установить в качестве загрузочного файла.
- Установите контрольные точки и нажмите F5 (выполнить) или щелкните правой кнопкой мыши web2py.py и выберите Начните с отладки.
Это хорошая настройка, если вы уже используете Visual Studio.
Да, это возможно благодаря "предотвращению пролета" Мне по-прежнему запрещено публиковать скриншоты, но вот полный скриншот, размещенный на моем веб-сайте:
Я отлаживаю приложения web2py с помощью Eclipse и PyDev. Вот статья: http://www.web2pyslices.com/main/slices/take_slice/2 р>
Вот статья об отладке python с помощью pdb, которая будет работать с web2py. http://sontek.net/debugging-python-with-pdb
Как сказал Карл, это так же просто, как:
<Ол>Никаких других плагинов или загрузок не требуется.
@Ned Batchelder почти прав, но стандартный способ сделать это в web2py немного отличается. Р>
Вместо `import pdb; pdb.set_trace (), вы используете код:
from gluon.debug import dbg
dbg.set_trace()
При выполнении веб-приложения оно останавливается, когда достигает этого раздела кода. Затем вы переходите на http://127.0.0.1:8000/admin/debug/interact (используя корневой URL для вашего приложения), и он покажет полностью интерактивный веб-отладчик:
См. документацию . р>