提问人:David 提问时间:5/21/2012 最后编辑:YaronDavid 更新时间:2/8/2018 访问量:13240
TypeError:强制使用 Unicode:需要字符串或缓冲区,dict found [closed]
TypeError: coercing to Unicode: need string or buffer, dict found [closed]
问:
有人知道如何解决这个错误吗?
Exception Type: TypeError
Exception Value: coercing to Unicode: need string or buffer, dict found
你可以帮我吗??
答:
4赞
KurzedMetal
5/21/2012
#1
您正在提供需要字符串或缓冲区的字典。
您应该检查您的代码或围绕您获得 Exception 的行进行调试,检查是否所有需要字符串的函数都没有获得字典。
您可能忘记为字典编制索引。
评论
0赞
David
5/23/2012
请参阅回溯:dpaste.com/750773 我无法解决这个问题。谁能帮我??
0赞
KurzedMetal
5/23/2012
如果你看到你的调用回溯是你的代码中产生错误的部分,就像我之前说的,你正在某处传递一个字典而不是一个字符串,所以可能应该是一个字符串,它被定义为一个字典。我真的没有 matplot 的经验,我无法进一步帮助您,您必须自己研究一下canvas.print_pdf
response
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 来修复它。
评论