From 5f14f6fdb36f5e54e473d4c7af7787d51c76883b Mon Sep 17 00:00:00 2001 From: Andrea Bedini Date: Fri, 23 Aug 2013 11:03:41 +1000 Subject: [PATCH 1/2] make sure we only perform absolute imports on loading a backend Fixes #2309 --- lib/matplotlib/backends/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index 2cebf1f4c925..3c6262d23ea1 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -22,7 +22,7 @@ def pylab_setup(): backend_name = backend_name.lower() # until we banish mixed case backend_name = 'matplotlib.backends.%s'%backend_name.lower() backend_mod = __import__(backend_name, - globals(),locals(),[backend_name]) + globals(),locals(),[backend_name],0) # Things we pull in from all backends new_figure_manager = backend_mod.new_figure_manager From 7ebee32ef8a3ecbcf372067fb394020aa043d6c2 Mon Sep 17 00:00:00 2001 From: Andrea Bedini Date: Wed, 28 Aug 2013 09:34:27 +1000 Subject: [PATCH 2/2] Add a comment explaning __import__ syntax. --- lib/matplotlib/backends/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/matplotlib/backends/__init__.py b/lib/matplotlib/backends/__init__.py index 3c6262d23ea1..557356f97fa8 100644 --- a/lib/matplotlib/backends/__init__.py +++ b/lib/matplotlib/backends/__init__.py @@ -21,6 +21,9 @@ def pylab_setup(): backend_name = 'backend_'+backend backend_name = backend_name.lower() # until we banish mixed case backend_name = 'matplotlib.backends.%s'%backend_name.lower() + + # the last argument is specifies whether to use absolute or relative + # imports. 0 means only perform absolute imports. backend_mod = __import__(backend_name, globals(),locals(),[backend_name],0)