diff --git a/codegen/__init__.py b/codegen/__init__.py index 1bb2902d260..98f1489ec79 100644 --- a/codegen/__init__.py +++ b/codegen/__init__.py @@ -235,10 +235,13 @@ def perform_codegen(): optional_figure_widget_import = """ try: import ipywidgets - from ._figurewidget import FigureWidget + from distutils.version import LooseVersion + if LooseVersion(ipywidgets.__version__) >= LooseVersion('7.0.0'): + from ._figurewidget import FigureWidget + del LooseVersion + del ipywidgets except ImportError: pass - """ root_datatype_imports.append(optional_figure_widget_import) diff --git a/plotly/basewidget.py b/plotly/basewidget.py index 6b119b308ca..a99bd7636c9 100644 --- a/plotly/basewidget.py +++ b/plotly/basewidget.py @@ -15,6 +15,7 @@ from .serializers import custom_serializers from .version import __frontend_version__ + @widgets.register class BaseFigureWidget(BaseFigure, widgets.DOMWidget): """ diff --git a/plotly/graph_objs/__init__.py b/plotly/graph_objs/__init__.py index 4321a5961ba..0f56dfcf515 100644 --- a/plotly/graph_objs/__init__.py +++ b/plotly/graph_objs/__init__.py @@ -79,10 +79,13 @@ try: import ipywidgets - from ._figurewidget import FigureWidget + from distutils.version import LooseVersion + if LooseVersion(ipywidgets.__version__) >= LooseVersion('7.0.0'): + from ._figurewidget import FigureWidget + del LooseVersion + del ipywidgets except ImportError: pass - from ._deprecations import ( Data, Annotations, Frames, AngularAxis, Annotation, ColorBar, Contours, ErrorX, ErrorY, ErrorZ, Font, Legend, Line, Margin, Marker, RadialAxis,