Skip to content

Commit fa2e329

Browse files
authored
Make debugger plugin's grpc ImportError handling work on py3 (#977)
Without this fix, under python3, we get a second exception because `err.message` does not exist (it was renamed to `msg`). This fixes that issue, and also changes the logic to reraise any non-grpc ImportErrors without the grcp-related tip.
1 parent ab0ceb7 commit fa2e329

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

tensorboard/plugins/debugger/debugger_plugin_loader.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ def _ConstructDebuggerPluginWithGrpcPort(context):
7979
from tensorboard.plugins.debugger import debugger_plugin as debugger_plugin_lib
8080
from tensorboard.plugins.debugger import interactive_debugger_plugin as interactive_debugger_plugin_lib
8181
# pylint: enable=line-too-long,g-import-not-at-top
82-
except ImportError as err:
83-
(unused_type, unused_value, traceback) = sys.exc_info()
84-
six.reraise(
85-
ImportError,
86-
ImportError(
87-
err.message +
88-
'\n\nTo use the debugger plugin, you need to have '
89-
'gRPC installed:\n pip install grpcio'),
90-
traceback)
82+
except ImportError as e:
83+
e_type, e_value, e_traceback = sys.exc_info()
84+
message = e.msg if hasattr(e, 'msg') else e.message # Handle py2 vs py3
85+
if 'grpc' in message:
86+
e_value = ImportError(
87+
message +
88+
'\n\nTo use the debugger plugin, you need to have '
89+
'gRPC installed:\n pip install grpcio')
90+
six.reraise(e_type, e_value, e_traceback)
9191

9292
if FLAGS.debugger_port > 0:
9393
interactive_plugin = (

0 commit comments

Comments
 (0)