导入matplotlib.pyplot时如何解决“对象没有属性”错误

时间:2019-05-23 07:07:02

标签: python linux matplotlib

我最近正在尝试使用Tensorflow进行操作。在遇到此问题之前,安装似乎很好。导入matplotlib.pyplot时,引发了AttributeError。下面是详细信息:

>>> import matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/syine/venv/lib/python3.7/site-packages/matplotlib/pyplot.py", line 2349, in <module>
    switch_backend(rcParams["backend"])
  File "/home/syine/venv/lib/python3.7/site-packages/matplotlib/__init__.py", line 820, in __getitem__
    plt.switch_backend(rcsetup._auto_backend_sentinel)
  File "/home/syine/venv/lib/python3.7/site-packages/matplotlib/pyplot.py", line 212, in switch_backend
    newbackend[9:] if newbackend.startswith("module://")
AttributeError: 'object' object has no attribute 'startswith'

看似这是模块中的内部错误,但是我找不到解决该问题的任何提示。

我尝试重新安装matplotlib及其所有依赖项(FreeType,libpng,NumPy,setuptools,cycler,dateutil,kiwisolver,pyparsing),但是它们都无法解决问题。

2 个答案:

答案 0 :(得分:1)

看起来这是一个已知问题:

https://github.com/matplotlib/matplotlib/issues/14263

听起来可能是您的环境存在问题,并且GitHub中的修复程序仅会引发有意义的错误消息

答案 1 :(得分:-1)

使用hasattr函数,可以在引用该属性之前检查特定属性是否属于对象。