Почему pydevd.settrace(), вызываемый в глобальной области видимости модуля, не работает?

Я использую PyCharm 3.1.1 IDE, веб-фреймворк Pyramid 1.4.5 и тестирую свое веб-приложение с помощью веб-сервера, который поставляется с пакетом PasteScript 1.7.5.
я размещен pydevd.settrace() вызов в глобальной области модуля middleware.py, но это не работает - соединение с сервером отладки установлено (я вижу Connected to pydev debugger (build 133.881) в консоли внутри PyCharm), но выполнение застряло в этой строке. Это код, который я использую:

import pydevd
pydevd.settrace('my.host.at.local.domain', port=21000, suspend=False, stdoutToServer=False, stderrToServer=False)

В модуле middleware.py есть make_app функция, которая зарегистрирована в setup.py моего проекта в качестве точки входа для вставки следующим образом:

setup(
    (...)
    entry_points="""
        [paste.app_factory]
        main = myapp.config.middleware:make_app
        (...)
    """
)

перемещение pydevd.settrace() позвонить в make_app функция решает проблему, т. е. устанавливается соединение с сервером отладки и выполняется последующий код.

Тем не менее, я хотел бы знать, почему размещение pydevd.settrace() вызов в глобальном объеме модуля middleware.py не работает?

0 ответов

Другие вопросы по тегам