matplotlib - 模块“sip”没有属性“setapi”

Posted

技术标签:

【中文标题】matplotlib - 模块“sip”没有属性“setapi”【英文标题】:matplotlib - module 'sip' has no attribute 'setapi' 【发布时间】:2021-01-25 04:29:12 【问题描述】:

我刚刚设置了带有所有 Python 扩展的 VS Code。通过 Anaconda 的 Python 版本是 3.8.3。解释器是 venv。当我运行这段代码时

import matplotlib.pyplot as plt

显示错误-

Exception has occurred: AttributeError
module 'sip' has no attribute 'setapi'
  File "C:\test.py", line 145, in <module>
    import matplotlib.pyplot as plt

我已尝试卸载并重新安装 matplotlib,但无济于事。

【问题讨论】:

【参考方案1】:

这对我有用。

python -m pip install matplotlib==3.2

【讨论】:

我发现了同样的问题。这是由于版本不同。这解决了我的问题。谢谢@nuno【参考方案2】:

使用 Matplotlib 3.3 版与 IPython 似乎存在不兼容问题。目前,您可以通过安装 Matplotlib 3.2 来修复它。

【讨论】:

感谢您的建议。根据另一篇文章,Anaconda 发行版不支持 Python 3.2 ***.com/a/50108544/5560837 我的意思是 Matplotlib 3.2 版而不是 Python 3.2。我编辑了答案以清除它。 对我来说 matplotlib==3.3.4,将 matplotlib 降级到 3.2,它可以工作 作为参考,我在 VSCode 上也遇到了这个问题,但是在同一 anaconda 环境中使用 Spyder 时 %matplotlib qt5 工作正常。所以这不是纯粹的 ipython 问题,而是 ipython 和 VSCode 协同工作的方式。【参考方案3】:

我遇到了同样的问题。我正在使用 PyCharm。安装 PyQt5 对我有用。

【讨论】:

pip install PyQt5 - 为我工作。赢10。 Matplotlib 3.4.1, Py 3.8.5.【参考方案4】:

我也有同样的问题,以上答案都不适合我。经过反复试验,似乎 pyqt 和 qt 引起了我的问题。我知道您使用的是 venv,但如果您不介意使用 Anaconda,以下环境应该适合您:

conda create -n matplotlib python==3.8.3 matplotlib==3.3.4 pyqt==5.9.2 qt==5.9.7

我使用 Windows 10 在 python==3.8.3python==3.7.10 上测试了此解决方案。

【讨论】:

【参考方案5】:

PySide2 是 Qt 公司官方支持的 Python 官方 Qt (v5) 包。

使用 matplotlib 和 Jupyter/IPython 时安装此模块

pip install pyside2

还有 PySide6,它是 Qt (v6) 的包

别问我为什么pyside2是为qt5...

【讨论】:

【参考方案6】:

我将matplotlib重新安装到最新版本,结果很好。

pip uninstall matplotlib
pip install matplotlib

这会将 matplotlib 版本从 3.3.4 升级到 3.4.2。

*我在虚拟环境中使用python 3.7.6,windows。

【讨论】:

以上是关于matplotlib - 模块“sip”没有属性“setapi”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:模块“matplotlib.mlab”没有属性“bivariate_normal”

gwpy 包给出错误 - AttributeError:模块“matplotlib.pyplot”在 Google Colab 中没有属性“FigureManagerBase”

没有名为 PyQt5.sip 的模块

没有名为“PyQt5.sip”的模块

即使我刚刚安装它,也没有名为“PyQt5.sip”的模块

python3 & pyqt4 & cx_freeze:没有名为“sip”的模块