TypeError:强制使用 Unicode:需要字符串或缓冲区,dict found [closed]

TypeError: coercing to Unicode: need string or buffer, dict found [closed]

提问人:David 提问时间:5/21/2012 最后编辑:YaronDavid 更新时间:2/8/2018 访问量:13240

问:


关于你所写的代码问题的问题,必须在问题本身中描述具体问题,并包括重现它的有效代码。有关指导,请参阅 SSCCE.org

9年前关闭。

有人知道如何解决这个错误吗?

Exception Type: TypeError
Exception Value: coercing to Unicode: need string or buffer, dict found

你可以帮我吗??

python matplotlib

评论

5赞 LiMuBei 5/21/2012
想要分享产生此错误的代码片段吗?
3赞 Daniel Roseman 5/21/2012
说真的,伙计,没有代码?你怎么可能指望任何帮助?
3赞 Emmanuel 5/21/2012
您能否描述一下您的问题,例如通过添加您的代码?
8赞 bpgergo 5/21/2012
cdn.memegenerator.net/instances/400x/20722667.jpg
0赞 David 5/21/2012
我可以加载项目的初始屏幕,但是当您单击“生成图表”时,它不会显示图表,如果我单击鼠标右键并查看图像...显示此错误。在这种情况下,安装了 matplotlib。查看我的代码:dpaste.com/750754

答:

4赞 KurzedMetal 5/21/2012 #1

您正在提供需要字符串或缓冲区的字典。

您应该检查您的代码或围绕您获得 Exception 的行进行调试,检查是否所有需要字符串的函数都没有获得字典。

您可能忘记为字典编制索引。

评论

0赞 David 5/23/2012
请参阅回溯:dpaste.com/750773 我无法解决这个问题。谁能帮我??
0赞 KurzedMetal 5/23/2012
如果你看到你的调用回溯是你的代码中产生错误的部分,就像我之前说的,你正在某处传递一个字典而不是一个字符串,所以可能应该是一个字符串,它被定义为一个字典。我真的没有 matplot 的经验,我无法进一步帮助您,您必须自己研究一下canvas.print_pdfresponse
0赞 David 5/24/2012
啊哈,就是这样 - 运行 matplotlib.get_configdir() 给了我位置 C:\Documents and Settings\<username>\.matplotlib (WinXP),删除 fontList.cache 文件解决了这个问题。谢谢
0赞 KurzedMetal 5/24/2012
下次,在创建问题时花点时间,提供更多信息,显示代码中有问题的部分,发布整个错误消息和回溯,告诉我们您尝试了什么,您将从 StackOverflow 用户那里得到更好的回应。
1赞 AJ Medford 11/15/2012 #2

正如其他人所指出的那样,这个错误是相当普遍的。但是,在这种情况下,它似乎是由 matplotlibs 字体管理器中的问题引起的。当我尝试将 Latex 与 matplotlib 一起使用时,我遇到了类似的问题,并且能够按照 David 的建议从 matplotlib.get_configdir() 目录中删除 fontList.cache 来修复它。