From unknown Fri Jun 20 20:10:01 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#70687 <70687@debbugs.gnu.org> To: bug#70687 <70687@debbugs.gnu.org> Subject: Status: python-matplotlib not respecting env var MPLBACKEND=TkAgg Reply-To: bug#70687 <70687@debbugs.gnu.org> Date: Sat, 21 Jun 2025 03:10:01 +0000 retitle 70687 python-matplotlib not respecting env var MPLBACKEND=3DTkAgg reassign 70687 guix submitter 70687 Jake severity 70687 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 30 21:24:08 2024 Received: (at submit) by debbugs.gnu.org; 1 May 2024 01:24:09 +0000 Received: from localhost ([127.0.0.1]:34452 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s1yhc-00063a-HC for submit@debbugs.gnu.org; Tue, 30 Apr 2024 21:24:08 -0400 Received: from lists.gnu.org ([2001:470:142::17]:59002) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s1yhX-00063B-Fv for submit@debbugs.gnu.org; Tue, 30 Apr 2024 21:24:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s1yh6-00080V-VR for bug-guix@gnu.org; Tue, 30 Apr 2024 21:23:36 -0400 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s1yh3-0005Du-LY for bug-guix@gnu.org; Tue, 30 Apr 2024 21:23:36 -0400 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-51ac9c6599bso7014653e87.1 for ; Tue, 30 Apr 2024 18:23:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714526611; x=1715131411; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=i8wx986Jx18l++/oeSCjQWdf8hSbtOAqMUZfwcOcu3M=; b=VP1cnmsKEmaHomQUM89zl/XQMH9vICF3j6xM7SW2DxwbJuw0tuSncfSL9vmM5jC+t1 SGWhF9N2oGPYHM7HTs5aWJmogQTMghvbCza+t7R1mVYEDhEhHvg6UHYkQK1LOqZaFc7Q GHrqJf14QBSKH0ycFZ2m1Qv9XlWH3NhJp6bhU6/pmqjqCgqD5SscBiCIXFYHy1RIhnIm Z2l++KweW/6k6sGlvShy8aO1/ybSRsLaHUUsHJl7qHxDayjwga9FOBHWSOXtsx2ZWB6f ZzixwZXnCrw+Urr9UJuAOOSdDvzNndBiJFBRcR3O/Og7rVUwA5qN6rTK6WDgVW7LOLLO Qcpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714526611; x=1715131411; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=i8wx986Jx18l++/oeSCjQWdf8hSbtOAqMUZfwcOcu3M=; b=ayevxdUjB91CG75AcLSFEucLTOtGsWJ4uOc65gAgrX5F+WPtlBLUk5k+4PX6YvIuI/ kdvtaKIBIOqittGcKuXgiQke/pJ72q7aeVMzvjnx7ZZAz5lAQYlebuAeGnX5q46MqVkr +oy93TLeonenj8+F1od0uis83f48dwx5/3d9BlhYRLsN7eh42lS6//p/Ti0eVGJ+YFOS kRbeAEp0N/DYnfiQuufUhePBAGTbCubFfi4F2QjYaZ6Eh95nz3N6PpogkWbkCYc8pnqH Fr9WT9YcgVSX738/tWRe8u4wGzvKAGWPzmHr/F5A4U77Kctk5Y8dJu9O6RZrNPiyAOUy ckqA== X-Gm-Message-State: AOJu0YyLrV2qoUS0gaZpZLNb6RwrOJ/LKqH+bNJEFMd/AQVDvzizU0DI iBFP/4YFYVznrsHBGFiYhc3k11lgNo29B+kIb7cxiseHG+8//l3ElkhrwRV5cCu60aN0GzyL9Mg yG0+QtWS7lZNl8DSIbW9aaSJpHJJpngJr X-Google-Smtp-Source: AGHT+IEt6xg7+pyorx99y+/Subhz5gsDqCkXbhhB2bhbilGNO9XUQ1/8FlGLk+zW4s7JhZiAUCphKuM9vu0P1pQEE7M= X-Received: by 2002:a19:ae19:0:b0:51b:6ed6:af3f with SMTP id f25-20020a19ae19000000b0051b6ed6af3fmr628365lfc.16.1714526610468; Tue, 30 Apr 2024 18:23:30 -0700 (PDT) MIME-Version: 1.0 From: Jake Date: Wed, 1 May 2024 01:23:19 +0000 Message-ID: Subject: python-matplotlib not respecting env var MPLBACKEND=TkAgg To: bug-guix@gnu.org Content-Type: multipart/alternative; boundary="0000000000009339c806175a55e3" Received-SPF: pass client-ip=2a00:1450:4864:20::132; envelope-from=jforst.mailman@gmail.com; helo=mail-lf1-x132.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --0000000000009339c806175a55e3 Content-Type: text/plain; charset="UTF-8" Hello We are supposed to be able to control the backend used by Python's Matplotlib via the MPLBACKEND environment variable [1]. This doesn't appear to work for the TkAgg backend: #+begin_src sh guix shell python python-matplotlib -- bash -c 'MPLBACKEND=TkAgg python3 -c "import matplotlib; print(matplotlib.get_backend()); import matplotlib.pyplot as plt; plt.plot([1],[2]); plt.show()"' #+end_src #+RESULTS: : TkAgg : :1: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown However, the TkAgg backend does work if it is hardcoded in the Python script using `matplotlib.use()`: #+begin_src sh guix shell python python-matplotlib -- python3 -c "import matplotlib; matplotlib.use('TkAgg'); print(matplotlib.get_backend()); import matplotlib.pyplot as plt; plt.plot([1],[2]); plt.show()" #+end_src #+RESULTS: : TkAgg Thanks Jake [1]: https://matplotlib.org/stable/users/explain/figure/backends.html --0000000000009339c806175a55e3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello

We are supposed to be able to control th= e backend used by Python's Matplotlib via the MPLBACKEND environment va= riable [1]. This doesn't appear to work for the TkAgg backend:
#+begin_src sh

=C2=A0 guix shell python python-matplotlib -- bash -= c 'MPLBACKEND=3DTkAgg python3 -c "import matplotlib; print(matplot= lib.get_backend()); import matplotlib.pyplot as plt; plt.plot([1],[2]); plt= .show()"'

#+end_src

#+RESULTS:
: TkAgg
: <s= tring>:1: UserWarning: FigureCanvasAgg is non-interactive, and thus cann= ot be shown

However, the TkAgg backend does work if it is hardcoded = in the Python script using `matplotlib.use()`:

#+begin_src sh
=C2=A0 guix shell python python-matplotlib -- python3 -c "import matp= lotlib; matplotlib.use('TkAgg'); print(matplotlib.get_backend()); i= mport matplotlib.pyplot as plt; plt.plot([1],[2]); plt.show()"

= #+end_src

#+RESULTS:
: TkAgg

--0000000000009339c806175a55e3-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 03 07:37:12 2025 Received: (at 70687) by debbugs.gnu.org; 3 Apr 2025 11:37:12 +0000 Received: from localhost ([127.0.0.1]:33066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u0Ish-000215-N4 for submit@debbugs.gnu.org; Thu, 03 Apr 2025 07:37:12 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:57710) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u0Ise-00020W-3u for 70687@debbugs.gnu.org; Thu, 03 Apr 2025 07:37:09 -0400 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-39ac9aea656so678273f8f.3 for <70687@debbugs.gnu.org>; Thu, 03 Apr 2025 04:37:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743680221; x=1744285021; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HoKEkubbco/nSI9fbtNIzBGt6Bg67QIEqSLn9kNTPV4=; b=mFnVushSRPwOXAmeV7aX7HAvoTjdgJBTb2wdkM7cLGupcq8+010UaTCpTe7NRYD/bW jw+a5vWw7obE3EVIzxtAlCShULOo8COghWwZ2YBRYEiT9vIineIuHvbrr8+5oFn3qBcj Ig/2+pGICDeMCH/2aDybPdG5QqXyFBvXWes9PAl5GZUB/BlwLa5RsYpta9JbHM7iGxge kH0lcdYQg0YjkQdxny1UY8Ni/ofSzDZPLktpZoItfLqigii4yPt2Kjgf9dOURYqMA/oN XQwcLARI3D4YoU3lB/kJYZ0Y+JsKZzaIc+v8Sps+XeCZSgd0LFEGJlgMECNfBGH8Rp1u YPZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743680221; x=1744285021; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HoKEkubbco/nSI9fbtNIzBGt6Bg67QIEqSLn9kNTPV4=; b=TD0AcAQSjFwScBUkA4F1FJ/Hk7JviKCtBxopAilvvnfH7FqOVRqtJve6WZAH2LUFDJ Zh9xxevJNxc4wEMw9Sq6D3FLxXegOPs6VFggITkfDDwYFev0rR07uEobI6pdUG2SQSgE XSEaq+k7onwFaodHXFG/wJiJzr8WUMXNd0vZ9x/7vpxaREpFu8LSCTbRWamqVuUxzeny pQvbk6td50qupA3zMwznh6nGDo/xnyfdC+c+aqDAs1xcEdDJjZBp4sMjLC7x1y/sGrDe fxOU4eI/ffhH+o+31t/1pxvMr2BKNTCUOdQbG57tTtKbTLTJH0YSlS+Uvp0LybirELHa 8wvQ== X-Gm-Message-State: AOJu0YzFkgukUqJeogpEJ1Xcqd1+TrFwhLeuQ45qgsOaWh8C+yVEtwaP F/CfCI46yfRTJ+kSHYCgCvJBwnuolZml9FetYIghFahCVcmnndbnj+WwW2QlJkAC37ioxhtFcRE YiKt6sc98KvXhzNtS0V18hFtl+PTU32/c X-Gm-Gg: ASbGncsfTqVXpRqcdtFsDB0G1DaOb1WeFfRqBfMid5EovQWuYaQOM4sjRH8qD829Xn1 q6qMNCHcNGltEDpX747gND6/fuHnSVr6s7xYqEbUkaYBEdDjUSGu4hx7YM8SPS8tVmHHTz64Egq LZFXS3ysfP09qjBx4oekCCNuqIylQseMMkj2Im X-Google-Smtp-Source: AGHT+IG+/M3vxMeAhGNEP0DxRQN+FO/PzeFSS0BfJvjNvPg/+0ZoLoJEkYK7qMI4WSzRNo9CFtq9rX2EZPLpHI2iPnQ= X-Received: by 2002:a5d:5f4d:0:b0:399:737f:4e02 with SMTP id ffacd0b85a97d-39c12117cb2mr17168360f8f.39.1743680220612; Thu, 03 Apr 2025 04:37:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jake Date: Thu, 3 Apr 2025 11:36:49 +0000 X-Gm-Features: ATxdqUHL7uhDRwbR7WW-EdfcHj4JbwO01GoiJXifEvXYTQCjWK4hw61O2W3z5QE Message-ID: Subject: Re: bug#70687: python-matplotlib not respecting env var MPLBACKEND=TkAgg To: 70687@debbugs.gnu.org Content-Type: multipart/alternative; boundary="00000000000026d04a0631de300a" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70687 Cc: me@bonfacemunyoki.com, sharlatanus@gmail.com, tanguy@bioneland.org, lars@6xq.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000026d04a0631de300a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable It appears that importing matplotlib.pyplot resets the Matplotlib backend to Agg. $ guix shell python python-matplotlib -- bash -c 'MPLBACKEND=3Dtkagg python3 -c "import matplotlib; print(matplotlib.get_backend()); import matplotlib.pyplot; print(matplotlib.get_backend())"' TkAgg agg On Wed, May 1, 2024 at 1:25=E2=80=AFAM Jake wrot= e: > Hello > > We are supposed to be able to control the backend used by Python's > Matplotlib via the MPLBACKEND environment variable [1]. This doesn't appe= ar > to work for the TkAgg backend: > > #+begin_src sh > > guix shell python python-matplotlib -- bash -c 'MPLBACKEND=3DTkAgg pyth= on3 > -c "import matplotlib; print(matplotlib.get_backend()); import > matplotlib.pyplot as plt; plt.plot([1],[2]); plt.show()"' > > #+end_src > > #+RESULTS: > : TkAgg > : :1: UserWarning: FigureCanvasAgg is non-interactive, and thus > cannot be shown > > However, the TkAgg backend does work if it is hardcoded in the Python > script using `matplotlib.use()`: > > #+begin_src sh > > guix shell python python-matplotlib -- python3 -c "import matplotlib; > matplotlib.use('TkAgg'); print(matplotlib.get_backend()); import > matplotlib.pyplot as plt; plt.plot([1],[2]); plt.show()" > > #+end_src > > #+RESULTS: > : TkAgg > > Thanks > Jake > > [1]: https://matplotlib.org/stable/users/explain/figure/backends.html > --00000000000026d04a0631de300a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
It appears that importing matplotlib.pyplot resets th= e Matplotlib backend to Agg.

=C2=A0 $ guix shell python python-matplotlib -- bash -c 'MPLBACKEND=3Dtkagg= =20 python3 -c "import matplotlib; print(matplotlib.get_backend()); import= matplotlib.pyplot; print(matplotlib.get_backend())"'
=C2=A0 TkAgg
=C2=A0 agg


On W= ed, May 1, 2024 at 1:25=E2=80=AFAM Jake <jforst.mailman@gmail.com> wrote:
Hello

We = are supposed to be able to control the backend used by Python's Matplot= lib via the MPLBACKEND environment variable [1]. This doesn't appear to= work for the TkAgg backend:

#+begin_src sh

=C2=A0 guix she= ll python python-matplotlib -- bash -c 'MPLBACKEND=3DTkAgg python3 -c &= quot;import matplotlib; print(matplotlib.get_backend()); import matplotlib.= pyplot as plt; plt.plot([1],[2]); plt.show()"'

#+end_src
#+RESULTS:
: TkAgg
: <string>:1: UserWarning: FigureCanvas= Agg is non-interactive, and thus cannot be shown

However, the TkAgg = backend does work if it is hardcoded in the Python script using `matplotlib= .use()`:

#+begin_src sh

=C2=A0 guix shell python python-matpl= otlib -- python3 -c "import matplotlib; matplotlib.use('TkAgg'= ); print(matplotlib.get_backend()); import matplotlib.pyplot as plt; plt.pl= ot([1],[2]); plt.show()"

#+end_src

#+RESULTS:
: TkAgg=

Thanks
Jake

--00000000000026d04a0631de300a-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 05 19:00:55 2025 Received: (at 70687) by debbugs.gnu.org; 5 Apr 2025 23:00:55 +0000 Received: from localhost ([127.0.0.1]:45256 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u1CVS-0001U8-Qu for submit@debbugs.gnu.org; Sat, 05 Apr 2025 19:00:55 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:49590) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1u1CVQ-0001Tq-GI for 70687@debbugs.gnu.org; Sat, 05 Apr 2025 19:00:53 -0400 Received: by mail-wm1-x342.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso16546725e9.3 for <70687@debbugs.gnu.org>; Sat, 05 Apr 2025 16:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743894046; x=1744498846; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=1AFPbC8DKdetjBdmTNePdPeBEw6Y6tgwiXCQUD0zlms=; b=Jw7LVE0Nk1ZqxPbwr7rHk2j2I4fi5derDOKnnFsFXjU9Wrz08HIfQ3oJ2ig7tkEzro sn+yWgoUyzMrKFUDBjAmVquaGDEejZXwF4V2jXABMuSoK4dbcEjo5F7fsIXcbiBx95lE 0LBg0kCXmoXKmoZAXsb9mjp02erSWlqWN4TJH5APey3G73H6Jgs5G91OY3yLsD+FJW1Z n5qNhHCk9xQdX8bVFNFl36zFA74x6Izir57Hw5vp5F2RnvH/IxoTWMHv3rJHzvYUvTJ2 MFe/YFytVDAc0nX9+Uv3gX2p1dpciIFSmTNZOZjew0+gM6fu/nnS2QjhqLHrCvVQXHN5 MfFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743894046; x=1744498846; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1AFPbC8DKdetjBdmTNePdPeBEw6Y6tgwiXCQUD0zlms=; b=e5kvX33N9OJnAKreiAHEwfLQLAAkesph/zyDPDKqhydEa6Pc+lCNIX5uWmt4/6s8+K 9Aye3vEjE6Hc1aCCqMSUqVD2v74wtKQWGphjVQQHcU1VhpQwrOT5YOoFVNhrxbSRNZNk EWD9vZpqGnPc7wozes05LSW6CLKWg6DiTQQXncqWrRWS8d7NrsV9ND1FFKTfY97dN6jb /ZDLYN6UywDuky3DG5KQv58DWI6FisHI4uEshP7O2J9tI6/CpcCOdsLXTArb/LbT0r1n Q6nA0ZTVaom1F3EIfNoJYmYqG3rnYZfoqNVplSt7VPiucMF4IYB7MFZF6HCxuquyzm3w HysQ== X-Forwarded-Encrypted: i=1; AJvYcCWvEeX8HmKbNCBCQjo3E3vFcvhdPrjIvvQw4im1CLaf37CN9ekrcvvsYVmiT2arwPkaI27oMg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzsaVgVTX0uIOQCSZjp9Xg2uOS/B+b3xycS5gvXZZoB/beLSAEs mmHArFV3eh+/GMmFJlbrh7SdZt6yfpvF0Y0GSOHBvHbSHKK4KXcr X-Gm-Gg: ASbGnctB/TR+V7UYBoi2Or13s2HHJN3gxdi29J+3j9Oi5PDBKsJLtkgjKMeAQuowjB7 X0NDuBA9zSwgYgLtDftXgT2hVhQ/zsPeFWs/jC08eEjNgwZ/v+0w96htfQhMSQGsxZDELPhejgL Sm9AMoV7M0bLNR+eJhCyYg53ZYkwTaFPSdCFskZ1Cs65nKngATvu2ZIAxiYoK+1VaoZI4Kla7u2 FWFcCf4LPQtaBB+5JhzK+bcBwk5d5IzJr3p0tFRXmqQtLI5MxyuF5cSt6+ZDqZNz+gmoRKfZwz6 TSKfdQCHfPXhkXdHQg8EOSIuFxoUvQTNMaL/K/o9K4ZSYYnxrxsOiFwSwAqC4GznDW57MQxODKC fWtqYSO1PTR5XxdF6RtBFs4qwm/5bDCE= X-Google-Smtp-Source: AGHT+IGqZlGpHC7W8XY2k7H4QNQLhLOf4TqSuf/ZBC3f8JDMEb6sJIF+/D662M/O9608OJwAt+zBtQ== X-Received: by 2002:a05:600c:1d88:b0:43c:ea40:ae4a with SMTP id 5b1f17b1804b1-43ee0783f84mr39701395e9.31.1743894045921; Sat, 05 Apr 2025 16:00:45 -0700 (PDT) Received: from lumine.fritz.box (85-127-114-32.dsl.dynamic.surfer.at. [85.127.114.32]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ea8d16d35sm105505755e9.0.2025.04.05.16.00.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Apr 2025 16:00:45 -0700 (PDT) Message-ID: <1608a77ee8cb2d6de27bc1fa4a1d79115fb9ef46.camel@gmail.com> Subject: Re: bug#70687: python-matplotlib not respecting env var MPLBACKEND=TkAgg From: Liliana Marie Prikler To: Jake , 70687@debbugs.gnu.org Date: Sun, 06 Apr 2025 01:00:44 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.54.3 MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70687 Cc: me@bonfacemunyoki.com, tanguy@bioneland.org, sharlatanus@gmail.com, lars@6xq.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Jake, Am Donnerstag, dem 03.04.2025 um 11:36 +0000 schrieb Jake: > It appears that importing matplotlib.pyplot resets the Matplotlib > backend to Agg. >=20 > =C2=A0 $ guix shell python python-matplotlib -- bash -c 'MPLBACKEND=3Dtka= gg > python3 -c "import matplotlib; print(matplotlib.get_backend()); > import matplotlib.pyplot; print(matplotlib.get_backend())"' >=20 > =C2=A0 TkAgg > =C2=A0 agg I recently encountered the same issue. The issue is that matplotlib internally sources a configuration file that sets the backend *after* reading the environment variable. To circumvent this, you use something along the lines of the following code until the issue is fixed: from matplotlib import set_backend=20 from os import environ =20 [=E2=80=A6] if __name__ =3D=3D '__main__': if 'MPLBACKEND' in environ: set_backend(environ['MPLBACKEND']) [=E2=80=A6] Cheers