前景提要

因为需要安装新的conda环境来进行新的项目,于是乎就新建了conda环境。装完seaborn后发现,图像没法显示。经过一系列的排查后发现问题出在了matplotlib上。

问题复现

测试代码

1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np 
from matplotlib import pyplot as plt
import matplotlib

x = np.arange(1,11)
y = 2 * x + 5
plt.title("test")

plt.xlabel("x ")
plt.ylabel("y ")
plt.plot(x,y)

plt.show()

问题截图

可以看到运行结果一篇空白,然后程序崩溃。

解决

这个问题有点恶心的地方在于基本找不到错误信息,在尝试过降级、重启、重装后也没有解决。在我身边的人同样碰到这个问题的时候,我意识到这不是我个人的问题,于是乎在github的issue找到了解答。问题处在了matplotlib的依赖上。需要将freestyle包从2.11.0降到2.10.4。随后问题解决。

1
conda install freetype==2.10.4 --force-reinstall

后记

这个问题似乎是conda-forge的依赖配置不对,没试过pip能不能解决,希望后续能够修复。

参考资料

[Bug]: Matplotlib crashes Python

After conda update, python kernel crashes when matplotlib is used