TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到字典 [关闭]

Posted

技术标签:

【中文标题】TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到字典 [关闭]【英文标题】:TypeError: coercing to Unicode: need string or buffer, dict found [closed] 【发布时间】:2012-05-27 22:55:41 【问题描述】:

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

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

你能帮帮我吗?

【问题讨论】:

愿意分享产生此错误的代码吗? 说真的,没有代码?你怎么可能期待任何帮助? 您能否再描述一下您的问题,例如添加您的代码? cdn.memegenerator.net/instances/400x/20722667.jpg 我可以加载项目的初始屏幕,但是当您单击“生成图形”时,它不会显示图形,如果我单击右键并查看图像...显示此错误。在这种情况下,安装了 matplotlib。查看我的代码:dpaste.com/750754 【参考方案1】:

您正在提供预期字符串或缓冲区的字典。

你应该检查你的代码或调试你得到异常的那一行,检查是否所有需要字符串的函数都没有得到字典。

你可能忘记索引字典了。

【讨论】:

查看回溯:dpaste.com/750773 我无法解决这个问题。谁能帮帮我?? 如果你看到你对canvas.print_pdf的调用是your code产生错误的一部分,就像我之前说的,你在某处传递一个字典而不是一个字符串,所以可能@987654324 @ 应该是一个字符串,它被定义为一个字典。我对matplot真的没有经验,我帮不了你,你得自己研究一下 啊哈,就是这样——运行 matplotlib.get_configdir() 给了我位置 C:\Documents and Settings\\.matplotlib (WinXP),并解决了删除 fontList.cache 文件问题。谢谢 下次,在创建问题时花点时间,提供更多信息,显示有问题的代码部分,发布整个错误消息和回溯,告诉我们你尝试了什么,你会有一个*** 用户的反应更好。【参考方案2】:

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

【讨论】:

以上是关于TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到字典 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到 datetime.timedelta

强制转换为 Unicode:需要字符串或缓冲区,在 django admin 中渲染时发现 NoneType

TypeError: Error #1034: 强制转换类型失败:无法将 "" 转换为 Array。

强制转换为 Unicode:需要字符串或缓冲区,找到标记

TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::MouseEvent@73b7cc1 转换为 mx.events.ItemClickEvent。(

管理界面中的 Django auth.User:强制转换为 Unicode:需要字符串或缓冲区,找到用户