Skip to content

Commit 1cea533

Browse files
authored
Backport PR #1223 on branch 6.x (Do not import debugger/debugpy unless needed) (#1224)
1 parent 384bdb1 commit 1cea533

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

ipykernel/ipkernel.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
from .comm.comm import BaseComm
2323
from .comm.manager import CommManager
2424
from .compiler import XCachingCompiler
25-
from .debugger import Debugger, _is_debugpy_available
2625
from .eventloops import _use_appnope
2726
from .iostream import OutStream
2827
from .kernelbase import Kernel as KernelBase
@@ -81,7 +80,7 @@ class IPythonKernel(KernelBase):
8180
help="Set this flag to False to deactivate the use of experimental IPython completion APIs.",
8281
).tag(config=True)
8382

84-
debugpy_stream = Instance(ZMQStream, allow_none=True) if _is_debugpy_available else None
83+
debugpy_stream = Instance(ZMQStream, allow_none=True)
8584

8685
user_module = Any()
8786

@@ -109,6 +108,8 @@ def __init__(self, **kwargs):
109108
"""Initialize the kernel."""
110109
super().__init__(**kwargs)
111110

111+
from .debugger import Debugger, _is_debugpy_available
112+
112113
# Initialize the Debugger
113114
if _is_debugpy_available:
114115
self.debugger = Debugger(
@@ -209,6 +210,8 @@ def __init__(self, **kwargs):
209210
}
210211

211212
def dispatch_debugpy(self, msg):
213+
from .debugger import _is_debugpy_available
214+
212215
if _is_debugpy_available:
213216
# The first frame is the socket id, we can drop it
214217
frame = msg[1].bytes.decode("utf-8")
@@ -524,6 +527,8 @@ def do_complete(self, code, cursor_pos):
524527

525528
async def do_debug_request(self, msg):
526529
"""Handle a debug request."""
530+
from .debugger import _is_debugpy_available
531+
527532
if _is_debugpy_available:
528533
return await self.debugger.process_request(msg)
529534
return None

0 commit comments

Comments
 (0)