Windows下使用Python WordCloud报错:仅支持TrueType字体或无法打开资源
针对你遇到的“仅支持TrueType字体”或“无法打开资源”报错,以下是几个实用的排查和解决方向:
检查字体文件的真实路径与名称
Windows的Fonts是特殊系统文件夹,显示的字体名称和实际文件名可能不一致。比如Arial的实际文件可能是arial.ttf(全小写),而非Arial.ttf。你可以打开C:\Windows\Fonts,找到Arial字体右键选择“属性”,查看“常规”标签里的“位置”和“文件名”,确保代码里的路径和文件名完全匹配。直接使用字体名称而非文件路径
如果字体已正确安装,WordCloud支持直接通过字体名称调用,无需指定font_path。修改代码如下:wordcloud = WordCloud(font_name='Arial', width=800, height=800, background_color='white').generate(word_string)复制字体文件到项目目录
绕开系统字体文件夹的权限或路径问题,直接把Arial的ttf文件(从Fonts文件夹复制,比如选arial.ttf)放到你的Python项目根目录,然后代码里直接写文件名:font = 'arial.ttf' wordcloud = WordCloud(font_path=font, width=800, height=800, background_color='white').generate(word_string)以管理员身份运行脚本
Windows系统对Fonts文件夹的访问可能有权限限制,尝试右键点击你的Python IDE或命令提示符,选择“以管理员身份运行”后再执行代码,看是否能解决“无法打开资源”的问题。清理matplotlib字体缓存
若matplotlib检测到字体但WordCloud无法调用,可能是字体缓存异常。找到matplotlib的缓存目录(一般在C:\Users\<你的用户名>\.matplotlib\),删除类似fontlist-v330.json的缓存文件(文件名随matplotlib版本变化),然后重新运行字体检测代码,再尝试生成词云。
内容的提问来源于stack exchange,提问作者abbym

