Python: WIndows系統 findfont: Font family ['sans-serif'] not found解決方法


當前利用python來進行科學計算的案例越來越多,不過我們在使用時,針對python對中文字體的支持很多時候,很難一次性配置完美。

通常的報錯信息是:findfont: Font family [‘sans-serif’] not found的錯誤

我也在最近重裝系統后碰到了;原因第一是中文字體缺失,第二是python 模塊配置問題。

如何解決呢?

1)此方法針對Simhei字體為例
我們可以百度搜索,將下載下來的字體解壓出來。或者從這個網址直接下載FontZone

(2)將字體文件復制到對應文件夾

針對Spyder或jupyter notebook,我們可以輸入以下命令,得到

import matplotlib
print(matplotlib.matplotlib_fname())

得到字體路徑,並將解壓出來的字體文件移動到字體路徑中,一般是:D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\mpl-data\fonts\ttf

(3)設置matplotlib配置文件
清空緩沖目錄里面的文件, 刪除 ~/.cache/matplotlib的緩沖目錄  (Windows內是 C:\Users\xxxxxx\.matplotlib)
修改D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\mpl-data 里面的matplotlibrc文件,修改如下:

font.family : sans-serif
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus,將True改為False,作用就是解決負號'-'顯示為方塊的問題

然后重啟一下Python內核就可以了,不用重啟電腦。

 

重啟python  (jupyter notebook)

就是在CMD中重新加載jupter 就可以使用了。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM