diff --git a/doc/requirements.txt b/doc/requirements.txt index 9dd0319ffe..5c4ee63947 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -37,5 +37,5 @@ orjson dash-bio jinja2<3.1 parmed<=3.4.4; python_version<"3.8" +dask==2022.2.0 polars -dask==2022.2.0 \ No newline at end of file diff --git a/packages/python/plotly/_plotly_utils/optional_imports.py b/packages/python/plotly/_plotly_utils/optional_imports.py index 32dec4e12a..a31e087a34 100644 --- a/packages/python/plotly/_plotly_utils/optional_imports.py +++ b/packages/python/plotly/_plotly_utils/optional_imports.py @@ -2,6 +2,7 @@ Stand-alone module to provide information about whether optional deps exist. """ + from importlib import import_module import logging import sys @@ -19,10 +20,9 @@ def get_module(name, should_load=True): :return: (module|None) If import succeeds, the module will be returned. """ - if name in sys.modules: - return sys.modules[name] if not should_load: - return None + return sys.modules.get(name, None) + if name not in _not_importable: try: return import_module(name) @@ -32,3 +32,5 @@ def get_module(name, should_load=True): _not_importable.add(name) msg = f"Error importing optional module {name}" logger.exception(msg) + + return None diff --git a/packages/python/plotly/test_requirements/requirements_38_core.txt b/packages/python/plotly/test_requirements/requirements_38_core.txt index edb622db5c..61bfc653cd 100644 --- a/packages/python/plotly/test_requirements/requirements_38_core.txt +++ b/packages/python/plotly/test_requirements/requirements_38_core.txt @@ -1,3 +1,3 @@ requests==2.25.1 tenacity==6.2.0 -pytest==6.2.3 +pytest==8.1.1 diff --git a/packages/python/plotly/test_requirements/requirements_38_optional.txt b/packages/python/plotly/test_requirements/requirements_38_optional.txt index e1c0c56b38..4eed0bb5e6 100644 --- a/packages/python/plotly/test_requirements/requirements_38_optional.txt +++ b/packages/python/plotly/test_requirements/requirements_38_optional.txt @@ -5,7 +5,7 @@ numpy==1.20.2 xarray==0.17.0 statsmodels Pillow==8.2.0 -pytest==6.2.3 +pytest==8.1.1 pytz==2021.1 ipython[all]==7.22.0 ipywidgets==8.0.2