已安装matplotlib,Python3.8.10报AttributeError:无font_manager属性
解决matplotlib 'font_manager' 属性错误的问题
错误原因
- 你手动添加了
C:\Python38\Lib\site-packages\matplotlib到sys.path,这会破坏Python对matplotlib包的正常导入逻辑。Python默认会把site-packages下的matplotlib识别为完整包,直接添加该目录到路径后,会干扰子模块(比如font_manager)的正常加载。 C:\Python38\Lib\site-packages本身就是Python默认的第三方库安装路径,完全不需要手动添加,重复添加反而可能引发路径冲突。
修复步骤
- 移除多余的路径配置:删掉代码里的两条
sys.path.append()语句,让Python使用默认路径导入库。 - 正确导入font_manager:有两种常用方式:
- 方式一:将font_manager作为子模块导入并设置别名
import matplotlib.font_manager as fm system_fonts = fm.findSystemFonts(fontpaths=None, fontext='ttf') print(dir(system_fonts)) - 方式二:直接从matplotlib导入font_manager
from matplotlib import font_manager system_fonts = font_manager.findSystemFonts(fontpaths=None, fontext='ttf') print(dir(system_fonts))
- 方式一:将font_manager作为子模块导入并设置别名
- 验证安装(可选):如果问题仍存在,打开终端执行
pip show matplotlib,确认安装路径是否为C:\Python38\Lib\site-packages;若路径异常,可重新安装matplotlib:pip install --force-reinstall matplotlib
内容的提问来源于stack exchange,提问作者Dmitry Dronov
相关产品推荐
相关产品推荐

