我最近正在尝试使用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),但是它们都无法解决问题。
答案 0 :(得分:1)
看起来这是一个已知问题:
https://github.com/matplotlib/matplotlib/issues/14263
听起来可能是您的环境存在问题,并且GitHub中的修复程序仅会引发有意义的错误消息
答案 1 :(得分:-1)
使用hasattr函数,可以在引用该属性之前检查特定属性是否属于对象。