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 モジュールのグローバル スコープに呼び出しを配置しても機能しない理由を知りたいです。