摘要:解决seaborn遇到的错误:
①ImportError: DLL load failed: 找不到指定的程序;
②Glyph xxxxx missing from current font
之前一直使用matplotlib绘图,今天突然想要试下Seaborn,然后兴致勃勃地导入库,居然立即就出问题了!
错误如下:
import seaborn
Traceback (most recent call last):
File “”, line 1, in
File “D:\ProgramData\Anaconda3\lib\site-packages\seaborn_init_.py”, line 6, in
from .rcmod import *
File “D:\ProgramData\Anaconda3\lib\site-packages\seaborn\rcmod.py”, line 6, in
from . import palettes, orig_rc_params
File “D:\ProgramData\Anaconda3\lib\site-packages\seaborn\palettes.py”, line 10, in
from .utils import desaturate, set_hls_values, get_color_cycle
File “D:\ProgramData\Anaconda3\lib\site-packages\seaborn\utils.py”, line 7, in
from scipy import stats
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\stats_init.py", line 384, in
from .stats import *
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\stats\stats.py”, line 185, in
from . import distributions
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\stats\distributions.py”, line 10, in
from .distn_infrastructure import (entropy, rv_discrete, rv_continuous,
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\stats_distn_infrastructure.py”, line 25, in
from scipy import optimize
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize_init.py", line 390, in
from .minimize import *
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize_minimize.py”, line 30, in
from .trustregion_constr import minimize_trustregion_constr
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize_trustregion_constr_init.py", line 4, in
from .minimize_trustregion_constr import minimize_trustregion_constr
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\optimize_trustregion_constr\minimize_trustregion_constr.py”, line 4, in
from scipy.sparse.linalg import LinearOperator
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\sparse\linalg_init.py", line 116, in
from .eigen import *
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen_init.py", line 11, in
from .arpack import *
File "D:\ProgramData\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack_init.py", line 22, in
from .arpack import *
File “D:\ProgramData\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack\arpack.py”, line 45, in
from . import _arpack
ImportError: DLL load failed: 找不到指定的程序。
最神奇的是,在spyder中运行,一切正常,但是在VSCode中运行才弹出上述错误提示。
奈何,越来越喜欢用VSCode了,所以这个问题还是得解决!
找了大半天资料,尝试卸载scipy和seaborn,然后再重新安装。
1、pip uninstall scipy seaborn
2、pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy seaborn
-i表示从清华镜像下载相应的库,下载速度比较快
重启VSCode,发现问题解决了!
然后又有新的提示:
D:\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:238: RuntimeWarning: Glyph 25910 missing from current font.
font.set_text(s, 0.0, flags=flags)
D:\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:238: RuntimeWarning: Glyph 30410 missing from current font.
font.set_text(s, 0.0, flags=flags)
D:\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:201: RuntimeWarning: Glyph 25910 missing from current font.
font.set_text(s, 0, flags=flags)
D:\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:201: RuntimeWarning: Glyph 30410 missing from current font.
font.set_text(s, 0, flags=flags)
翻译了一下,发现是缺少字体。
准备安装缺少的字体,但转念一想,这不是和matplotlib无法显示中文字符一样的问题吗?
于是,加上以下两行代码:
plt.rcParams['font.sans-serif'] = ['SimHei'] #显示中文标签
plt.rcParams['axes.unicode_minus'] = False #这两行需要手动设置
再次运行py文件,发现Glyph xxxxx missing from current font的警告没有了。
成功解决问题,又可以愉快地玩耍了!