刚配置Jupyter环境的绘图会存在不显示中文、中文显示乱码问题,花了一整个晚上搜寻了网上各种解决办法并疯狂尝试最后侥幸成功,办法总结下来基本分为两种:

1.主流的解决办法是下载一个SimHei.ttf字体文件并配置进去。 

主要参考原文链接:

2.小众的解决办法是通过加几行代码来解决的。

主要参考原文链接:

Mac版Jupyter中 seaborn中文无法正常显示解决办法_seaborn无法显示中文_sihiaugiok的博客-CSDN博客

由于我是小白,两种方法都尝试了,中间也遇到了很多问题,但最终我用主流的下载字体并添加配置的办法来解决了:

1、下载SimHei.ttf字体文件
首先,我们需要去GitHub上下载一个SimHei字体,链接为: https://github.com/dolbydu/font

在其unicode文件夹下找到SimHei.ttf文件

2、在Jupyter中查看字体文件路径:(这一步我直接报错zsh:command not found: import并且尝试了多种办法,包括但不限于重装matplotlib库,最终都无法解决,于是我选择直接自己找路径结果成功了。)

查看字体路径:
import matplotlib
matplotlib.matplotlib_fname()
获得目录后,

打开Finder,Shift+Command+g, 然后输入路径:

ps:我在输入import matplotlib后报错zsh:command not found: import,在网上苦寻许久找不到解决办法,于是我跳过第二步的通过代码获得目录,直接打开Finder,用Shift+Command+g, 输入路径:/Library/Fonts/             进入到Fonts文件夹(Fonts文件夹好像都在资源库里面。)

jupyter里面训练模型为什么没用GPU_jupyter

找到fonts文件夹,将下载好的SimHei.ttf文件拖入到fonts/ttf文件内。

jupyter里面训练模型为什么没用GPU_缓存_02

看到geoplotlib想起来当时pip3 install geoplotlib也卡了好久,最后发现要先pip3 install setuptools==57.5.0(降版本)才能解决

jupyter里面训练模型为什么没用GPU_jupyter_03

3、修改matplotlib文件

用command+空格打开聚焦搜索,搜索并用文本编辑器打开matplotlibrc文件

jupyter里面训练模型为什么没用GPU_搜索_04

修改以下内容:

 用command+F搜索关键词

font.family 去掉前面的 #       (搜出来有两个结果别改错了,我一开始没注意直接gg)

jupyter里面训练模型为什么没用GPU_jupyter_05


font.sans-serif 去掉前面的 #,并添加 SimHei, 

jupyter里面训练模型为什么没用GPU_jupyter_06


axes.unicode_minus 去掉前面的 #,并修改 True 为 False

jupyter里面训练模型为什么没用GPU_jupyter_07


修改后command+s保存退出。

4、清除matplotlib缓存
在jupyter中输入下面代码查看缓存路径:

import matplotlib
matplotlib.get_cachedir()
显示缓存路径:/Users/用户名/.matplotlib

(ps:这个地方的import matplotlib我还是报错zsh: command not found: import并且解决不了)

在jupyter输入下面代码删除缓存:

rm -rf /Users/用户名/.matplotlib

(ps:这里我没报错,不知道是运行成功了还是因为我的matplotlib是刚下的,没有缓存?即使报错也没关系?)

注:步骤完成后有的还会报错,是因为Mac上配置Jupyter虚拟环境时安装了ipykernel,只需要在Jupyter将 Kernel做Restart处理就可以了。(ps:这里我不知道怎么重启Kernel,于是我直接简单粗暴地重启jupyter,然后就成功了哈哈哈)

jupyter里面训练模型为什么没用GPU_搜索_08