解决Font family [‘sans-serif’] not found问题

序言

以下测试环境都是在 anaconda3 虚拟环境下执行。

激活虚拟环境

conda activate test_python_env
或
source activate test_python_env

工具:

WinSCP
Visual Studio Code

这里笔者使用 WinSCP 工具连接,编辑工具是 Visual Studio Code

一、字体下载

字体文件下载链接:
[ SimHei] 字体免费下载

在指定的python 环境下,运行如下命令:(比如是使用 anaconda3 下的 python 虚拟环境,自然得切换虚拟环境,使用虚拟环境的 python 解释器来运行)

import matplotlib    
print(matplotlib.matplotlib_fname())

类似的路径如下所示:
在这里插入图片描述

然后把下载好的字体文件放到,这个路径下文件夹 ttf 里面(下载的字体文件后缀是 ttf
解决Font family [‘sans-serif’] not found问题_第1张图片

二、删除 matplotlib 缓存文件

需要清除缓存以及修改对应的配置才能生效

python 解释器下执行如下命令,获取 matplotlib 的缓存文件路径,使用 rm -rf 删除该缓存文件。

import matplotlib
matplotlib.get_cachedir()

在这里插入图片描述

bash 终端删除该缓存文件
在这里插入图片描述

三、matplotlib配置修改

Visual Studio Code 打开 matplotlibrc 文件原样:

解决Font family [‘sans-serif’] not found问题_第2张图片

解决Font family [‘sans-serif’] not found问题_第3张图片
解决Font family [‘sans-serif’] not found问题_第4张图片

解决Font family [‘sans-serif’] not found问题_第5张图片

matplotlibrc 文件修改内容

  1. 修改
#font.family: sans-serif  
取消注释,删除井号 #  
font.family: sans-serif
#font.serif: DejaVu Serif,... 
取消注释,删除#font.serif
前面的井号,并添加Simhei
font.serif: SimHei, DejaVu Serif,...

解决Font family [‘sans-serif’] not found问题_第6张图片

  1. 修改
#axes.unicode_minus: True 
取消注释,删除#号,并将True改为False
axes.unicode_minus: False

解决Font family [‘sans-serif’] not found问题_第7张图片

最后也不用重启电脑,直接重新运行之前报错的程序就行了。


参考链接

1. 解决Font family [‘sans-serif‘] not found的问题

2. python中解决Font family [‘sans-serif’] not found问题

3. findfont: Font family [‘sans-serif‘] not found解决方法

你可能感兴趣的:(Python,计算机使用技巧,python,开发语言)