Quand j'essaye le code du cadeau qui utilise matplotlib
avec python2
dans l'environnement pyenv de Mac, cela ne fonctionne pas.
A partir du résultat, installez pyside2
, éditez la configuration matplotlibrc
de matplotlib
, et
backend osx
À
backend qt5agg
Ensuite, cela a fonctionné.
Mac OSX 10.15.5
Python 2.7.17
(installé avec pyenv)
Lorsque je tape python-code.py
(pseudonyme), j'obtiens l'erreur suivante.
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.
Quand tu lis
from matplotlib.backends import _macosx
Comme vous pouvez le voir, la bibliothèque GUI semble être inutile.
Quand je l'ai recherché, cela m'a semblé être une erreur courante et j'ai trouvé des solutions.
Cela semble fonctionner avec qt5agg
en utilisant Qt
, mais une autre difficulté.
Il semble que PyQt5
, qui est familier dans python3
, ne peut pas être utilisé dans python2
.
Il semble y avoir une alternative, appelée «pyside2». Mettez ça dedans.
pip install pyside2
Et
python -c "import matplotlib;print(matplotlib.matplotlib_fname())"
Ensuite, vérifiez le chemin de matplotlibrc
(fichier de configuration matplot), ligne 42
backend : macosx
Commentez et ajoutez qt5agg
.
# backend : macosx
backend : qt5agg
Avec cela, l'opération prévue a été effectuée en toute sécurité. Toutes nos félicitations.
J'ai essayé Tkagg
qui utilise Tk
, mais cela n'a pas fonctionné.
https://qiita.com/masatomix/items/03419c7ea10262da18f3 https://stackoverflow.com/questions/57238618/how-do-you-display-a-figure-in-matplotlib-using-pyside2
Recommended Posts