安装plotly 1.12.9后导入报错:UnicodeEncodeError问题咨询
解决Plotly 1.12.9导入时的UnicodeEncodeError问题
问题原因
你遇到的这个UnicodeEncodeError是Plotly 1.12.9版本的一个已知bug:当程序尝试生成图形参考数据的SHA1哈希时,强制使用了latin-1编码,但该编码不支持特殊Unicode字符(比如报错里的\u25bc,也就是下拉箭头符号),导致编码失败。
解决方案
这里有两种可行的解决办法,推荐优先用第一种:
1. 升级Plotly到最新稳定版
这个编码bug在Plotly后续版本中已经被修复,直接升级就能彻底解决问题。
- 如果用pip管理包:
pip install --upgrade plotly - 如果是Anaconda环境:
conda update plotly
升级完成后重新导入Plotly,应该就能正常使用了。
2. 临时修改源码(不推荐,仅当无法升级时使用)
如果你暂时不能升级版本,可以手动修改Plotly的源码来绕过编码问题:
- 找到报错的文件:
C:\Users\User\Anaconda3\lib\site-packages\plotly\graph_reference.py - 打开文件,定位到第86行(就是报错栈里的这行):
sha1 = hashlib.sha1(six.b(str(graph_reference))).hexdigest() - 修改
six.b的编码参数,把默认的latin-1改成utf-8:sha1 = hashlib.sha1(six.b(str(graph_reference), encoding='utf-8')).hexdigest() - 保存文件后,重新运行你的代码,应该就能成功导入Plotly了。
内容的提问来源于stack exchange,提问作者Yoko
相关产品推荐
相关产品推荐

