%matplotlib qt ne fonctionne pas
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| Spyder 3.0.1| IPython 5.1.0
(En cours d'exécution sur Windows)
Lors de la demande de parcelles dans une nouvelle fenêtre via:
%matplotlib qt
J'obtiens une erreur:
Traceback (most recent call last):
File "<ipython-input-2-6ad73d0e50c7>", line 1, in <module>
get_ipython().magic(u'matplotlib qt')
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2158, in magic
return self.run_line_magic(magic_name, magic_arg_s)
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2079, in run_line_magic
result = fn(*args,**kwargs)
File "<decorator-gen-105>", line 2, in matplotlib
File "C:\Anaconda2\lib\site-packages\IPython\core\magic.py", line 188, in <lambda>
call = lambda f, *a, **k: f(*a, **k)
File "C:\Anaconda2\lib\site-packages\IPython\core\magics\pylab.py", line 100, in matplotlib
gui, backend = self.shell.enable_matplotlib(args.gui)
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2947, in enable_matplotlib
pt.activate_matplotlib(backend)
File "C:\Anaconda2\lib\site-packages\IPython\core\pylabtools.py", line 295, in activate_matplotlib
matplotlib.pyplot.switch_backend(backend)
File "C:\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 232, in switch_backend
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 18, in <module>
from .backend_qt5agg import FigureCanvasQTAggBase as _FigureCanvasQTAggBase
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 16, in <module>
from .backend_qt5 import QtCore
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5.py", line 31, in <module>
from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, __version__
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\qt_compat.py", line 137, in <module>
from PyQt4 import QtCore, QtGui
ImportError: No module named PyQt4
Vous devez vous connecter pour publier un commentaire.
Je pense que votre problème est causé par le fait d'avoir un
QT_API
variable d'environnement qui est toujours mis àpyqt4
(oupyside
). Vérifier, par exemple, en tapantimport os; print(os.environ.get('QT_API'))
dans l'invite Python.Si c'est le cas, vous devez le supprimer ou le mettre à
pyqt5
. Google comment définir une variable d'environnement sous Windows si vous ne savez pas comment.J'ai utilisé import os; print(os.environ.get('QT_API')), et puis j'ai obtenu pyqt5. Alors, je suis allé dans Outils -> préférences -> console Ipython -> graphiques et j'ai choisi backend Qt5, et après le redémarrage de spyder, voila, le problème est résolu. Merci!!!!
Ce problème a été résolu pour moi par la mise à niveau de matplotlib à partir de la version matplotlib-1.5.3 de matplotlib-2.2.2
Si vous voulez que votre parcelles dans une nouvelle fenêtre dans Spyder, vous n'avez pas besoin de la
%matplotlib qt
.Au lieu de cela, aller à
Tools
etPreferences
en Spyder, puis dansPreferences
cliquez surIPython consol
. DansIPython consol
cliquez sur l'ongletGraphics
, puis dans leGraphics Backend
déroulante changerInline
àQT
.%matplotlib qt
.PyQt4
. Le tracé dans une nouvelle fenêtre problème sur Spyder devrait être fixé à l'aide de la solution dans ma réponse.PyQt4
#import PyQt4
et voir ce qui se passe.