Wenn ich den Code des Geschenks ausprobiere, das "matplotlib" mit "python2" in der Pyenv-Umgebung von Mac verwendet, funktioniert es nicht.
Installieren Sie im Ergebnis pyside2
, bearbeiten Sie die Konfiguration matplotlibrc
von matplotlib
und
backend osx
Zu
backend qt5agg
Dann hat es funktioniert.
Mac OSX 10.15.5
Python 2.7.17
(installiert mit pyenv)
Wenn ich python-code.py
(Pseudonym) eingebe, erhalte ich den folgenden Fehler.
Traceback (most recent call last):
File "python-code.py", line 60, in <module>
import matplotlib.pyplot as plt
File "/Users/username/.pyenv/versions/2.7.17/lib/python2.7/site-packages/matplotlib/pyplot.py", line 115, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/Users/username/.pyenv/versions/2.7.17/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 63, in pylab_setup
[backend_name], 0)
File "/Users/username/.pyenv/versions/2.7.17/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py", line 17, in <module>
from matplotlib.backends import _macosx
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of 'python' with 'pythonw'. See 'Working with Matplotlib on OSX' in the Matplotlib FAQ for more information.
Wenn du liest
from matplotlib.backends import _macosx
Wie Sie sehen können, scheint die GUI-Bibliothek nutzlos zu sein.
Als ich es nachgeschlagen habe, schien es ein häufiger Fehler zu sein, und ich habe einige Lösungen gefunden.
Es scheint mit qt5agg
mit Qt
zu funktionieren, aber eine andere Schwierigkeit.
Es scheint, dass "PyQt5", das in "Python3" bekannt ist, in "Python2" nicht verwendet werden kann.
Es scheint eine Alternative zu geben, die "pyside2" heißt. Gib das ein.
pip install pyside2
Und
python -c "import matplotlib;print(matplotlib.matplotlib_fname())"
Überprüfen Sie dann den Pfad von matplotlibrc
(Matplot-Konfigurationsdatei), Zeile 42
backend : macosx
Kommentiere aus und füge qt5agg
hinzu.
# backend : macosx
backend : qt5agg
Damit wurde die beabsichtigte Operation sicher durchgeführt. Herzliche Glückwünsche.
Ich habe Tkagg
ausprobiert, das Tk
verwendet, aber es hat nicht funktioniert.
https://qiita.com/masatomix/items/03419c7ea10262da18f3 https://stackoverflow.com/questions/57238618/how-do-you-display-a-figure-in-matplotlib-using-pyside2
Recommended Posts