4

PyCharm 3.1.1 IDE、Pyramid 1.4.5 Web フレームワークを使用しており、PasteScript 1.7.5 パッケージに付属の Web サーバーを使用して Web アプリをテストしています。
middleware.py モジュールのグローバル スコープに呼び出しを配置pydevd.settrace()し​​ましたが、これは機能しません。デバッグ サーバーへの接続は行われますが ( 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 モジュールのグローバル スコープに呼び出しを配置し​​ても機能しない理由を知りたいです。

4

0 に答える 0