From cb16035a3aaf646f2731fe963275684ca47bc6b4 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 29 Aug 2022 18:03:47 +0000 Subject: [PATCH] Fix LaTeX drawer on split-filesystem systems (#8629) (#8632) * Update circuit_visualization.py Corrects issue #8542 * Update circuit_visualization.py * Add release note Co-authored-by: Jake Lishman (cherry picked from commit d163e89cd080fbfe4f21d964eaf58b0a0fb65ac7) Co-authored-by: Joseph McElroy <59029169+jmcelroy01@users.noreply.github.com> --- qiskit/visualization/circuit_visualization.py | 3 ++- .../notes/fix-latex-split-filesystem-0c38a1ade2f36e85.yaml | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/fix-latex-split-filesystem-0c38a1ade2f36e85.yaml diff --git a/qiskit/visualization/circuit_visualization.py b/qiskit/visualization/circuit_visualization.py index 319146cf7a4b..6715bb8e65ea 100644 --- a/qiskit/visualization/circuit_visualization.py +++ b/qiskit/visualization/circuit_visualization.py @@ -27,6 +27,7 @@ import logging import os +import shutil import subprocess import tempfile @@ -442,7 +443,7 @@ def _latex_circuit_drawer( image = utils._trim(image) if filename: if filename.endswith(".pdf"): - os.rename(base + ".pdf", filename) + shutil.move(base + ".pdf", filename) else: try: image.save(filename) diff --git a/releasenotes/notes/fix-latex-split-filesystem-0c38a1ade2f36e85.yaml b/releasenotes/notes/fix-latex-split-filesystem-0c38a1ade2f36e85.yaml new file mode 100644 index 000000000000..91fd099d3451 --- /dev/null +++ b/releasenotes/notes/fix-latex-split-filesystem-0c38a1ade2f36e85.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Fixed an ``OSError`` in the LaTeX circuit drawer on systems whose temporary + directories (*e.g* ``/tmp``) are on a different filesystem to the working + directory. See `#8542 `__ + for more detail.