From 4c45db4247b77bbe96fba86e04324f3548160061 Mon Sep 17 00:00:00 2001 From: Johan Mabille Date: Wed, 30 Jun 2021 22:29:33 +0200 Subject: [PATCH] stringify variables that are not json serializable in inspectVariables reply --- ipykernel/debugger.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ipykernel/debugger.py b/ipykernel/debugger.py index f3ea2a917..f0b9dbf62 100644 --- a/ipykernel/debugger.py +++ b/ipykernel/debugger.py @@ -13,6 +13,8 @@ from IPython.core.getipython import get_ipython import debugpy +from .jsonutil import json_clean + # Required for backwards compatiblity ROUTING_ID = getattr(zmq, 'ROUTING_ID', None) or zmq.IDENTITY @@ -417,9 +419,14 @@ async def inspectVariables(self, message): var_list = [] for k, v in get_ipython().user_ns.items(): if self.accept_variable(k): + try: + val = json_clean(v) + + except ValueError: + val = str(v) var_list.append({ 'name': k, - 'value': v, + 'value': val, 'type': str(type(v))[8:-2], 'variablesReference': 0 })