Skip to content

AttributeError: module 'sip' has no attribute 'setapi' #20040

Closed
@talhaanwarch

Description

@talhaanwarch

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'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions