From 360b8c02362fc6d5876936be07db49f207c15e1c Mon Sep 17 00:00:00 2001 From: Thomas Robitaille Date: Mon, 8 Aug 2016 09:17:34 +0100 Subject: [PATCH] Make sure nose is only imported when needed --- lib/matplotlib/testing/decorators.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py index ffa17173c9f1..6b7ddba03a3e 100644 --- a/lib/matplotlib/testing/decorators.py +++ b/lib/matplotlib/testing/decorators.py @@ -12,7 +12,10 @@ import warnings import unittest -import nose +# Note - don't import nose up here - import it only as needed in functions. This +# allows other functions here to be used by pytest-based testing suites without +# requiring nose to be installed. + import numpy as np import matplotlib as mpl @@ -417,6 +420,9 @@ def find_dotted_module(module_name, path=None): def switch_backend(backend): + # Local import to avoid a hard nose dependency and only incur the + # import time overhead at actual test-time. + import nose def switch_backend_decorator(func): def backend_switcher(*args, **kwargs): try: