matplotlib kann nicht zeichnen (currently using agg)

Probleme bei der Installation?
Antworten
Hase
User
Beiträge: 101
Registriert: Donnerstag 1. Oktober 2009, 15:17
Wohnort: Bremer Speckgürtel

Hallo, ich versuche ein Programm auf einem neuen Rechner laufen zu lassen. Es ist das aktuelle Ubuntu LTS.

tkinter und matplotlib sind installiert und funktionieren auch:

Code: Alles auswählen

Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> import tkinter
>>> 
Beim Aufruf von plot.show() kommt es zur Fehlermeldung:

Code: Alles auswählen

 UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
Gut. Wenn ich dann das Backend mit

Code: Alles auswählen

matplotlib.use("TkAgg")
erzwingen will, kommt eine andere Fehlermeldung, nämlich

Code: Alles auswählen

File "/usr/local/lib/python3.10/dist-packages/matplotlib/backends/_backend_tk.py", line 14, in <module>
    from PIL import Image, ImageTk
ImportError: cannot import name 'ImageTk' from 'PIL' (/usr/lib/python3/dist-packages/PIL/__init__.py)
Nun muss ich ein bisschen sparsam sein mit dem Festplattenplatz und möchte nicht auf gut Glück sämtliche Python-Pakete installieren in der Hoffnung, das richtige wird schon dabei sein. PySide2 und python3-pyqt5 sind übrigens auch installiert, also Auswahl an Grafikbackends wäre da. Warum können die nicht genutzt werden?

Macht es eigentlich einen Unterschied aus, ob ich mit sudo apt install XXX oder sudo pip3 install XXX installieren?

LG
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn Qt installiert ist, probier es doch - hier ist die Liste: https://matplotlib.org/stable/users/exp ... kends.html

Und ja, es macht einen Unterschied, wie man installiert. Wenn's geht, wuerde ich immer erstmal zu apt raten, damit das System gluecklich ist.
Hase
User
Beiträge: 101
Registriert: Donnerstag 1. Oktober 2009, 15:17
Wohnort: Bremer Speckgürtel

So, jetzt gehts wieder.

apt purge python3-tk
pip uninstall matplotlib
pip uninstall scipy

apt install python3-tk
apt install python3-matplotlib

Da war wohl was in der Installation verbogen. Mit apt python3-matplotlib kamen noch ca 10 weitere Pakete als Abhängigkeiten mit, u.a. scipy.

Danke für den Hinweis!
Antworten