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