Closed
Description
OS: Windows 10
Python: 3.8.5
On a fresh virtual environment, i installed matplotlib
version 3.4.1
. When I import using
import matplotlib.pyplot as plt
It throws
AttributeError: module 'sip' has no attribute 'setapi'
With a bit of search, I see it is because of pyqt5.
Simply installing pyqt5 latest version 5.15.4
using
pip install PyQt5
resolve the error.
If matplotlib is using pyqt5, I believe it should be installed while installing matlotlib
. Currently installing matplotlib is not installing pyqt. It install these packages numpy, six, python-dateutil, cycler, kiwisolver, pillow, pyparsing, matplotlib
Complete error log
Traceback (most recent call last):
File "test.py", line 46, in <module>
import matplotlib.pyplot as plt
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\pyplot.py", line 2469, in <module>
switch_backend(rcParams["backend"])
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\__init__.py", line 619, in __getitem__
plt.switch_backend(rcsetup._auto_backend_sentinel)
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\pyplot.py", line 257, in switch_backend
switch_backend(candidate)
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\pyplot.py", line 277, in switch_backend
class backend_mod(matplotlib.backend_bases._Backend):
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\pyplot.py", line 278, in backend_mod
locals().update(vars(importlib.import_module(backend_name)))
File "C:\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 11, in <module>
from .backend_qt5 import (
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\backend_qt5.py", line 13, in <module>
import matplotlib.backends.qt_editor.figureoptions as figureoptions
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\qt_editor\figureoptions.py", line 11, in <module>
from matplotlib.backends.qt_compat import QtGui
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\qt_compat.py", line 174, in <module>
_setup()
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\qt_compat.py", line 134, in _setup_pyqt4
_setup_pyqt4_internal(api=2)
File "D:\tutorials\automl\venv2\lib\site-packages\matplotlib\backends\qt_compat.py", line 117, in _setup_pyqt4_internal
sip.setapi(_sip_api, api)
AttributeError: module 'sip' has no attribute 'setapi'