8000 Merge pull request #5249 from pwuertz/fix_5144 · matplotlib/matplotlib@a561593 · GitHub
[go: up one dir, main page]

Skip to content

Commit a561593

Browse files
committed
Merge pull request #5249 from pwuertz/fix_5144
Keep references to modules required in pgf LatexManager destructor
1 parent 1f8b7f6 commit a561593

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

lib/matplotlib/backends/backend_pgf.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,11 @@ def _expect_prompt(self):
304304
return self._expect("\n*")
305305

306306
def __init__(self):
307+
# store references for __del__
308+
self._os_path = os.path
309+
self._shutil = shutil
310+
self._debug = rcParams.get("pgf.debug", False)
311+
307312
# create a tmp directory for running latex, remember to cleanup
308313
self.tmpdir = tempfile.mkdtemp(prefix="mpl_pgf_lm_")
309314
LatexManager._unclean_instances.add(self)
@@ -346,7 +351,7 @@ def __init__(self):
346351
self.str_cache = {}
347352

348353
def _cleanup(self):
349-
if not os.path.isdir(self.tmpdir):
354+
if not self._os_path.isdir(self.tmpdir):
350355
return
351356
try:
352357
self.latex.communicate()
@@ -355,13 +360,13 @@ def _cleanup(self):
355360
except:
356361
pass
357362
try:
358-
shutil.rmtree(self.tmpdir)
363+
self._shutil.rmtree(self.tmpdir)
359364
LatexManager._unclean_instances.discard(self)
360365
except:
361366
sys.stderr.write("error deleting tmp directory %s\n" % self.tmpdir)
362367

363368
def __del__(self):
364-
if rcParams.get("pgf.debug", False):
369+
if self._debug:
365370
print("deleting LatexManager")
366371
self._cleanup()
367372

0 commit comments

Comments
 (0)
0