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.3
和 python==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”