如何解析属性错误:模块'图形。后端没有属性'编码' [英] how to resolve AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'

查看:3
本文介绍了如何解析属性错误:模块'图形。后端没有属性'编码'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不确定为什么当我尝试将回归树导出到Graphviz时得到AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'。我试着重新安装了GRAPHVIZ和SLEARN,但没有解决问题。感谢您在这方面的任何建议。


AttributeError                            Traceback (most recent call last)
<ipython-input-4-9d9e0becf9b6> in <module>
      3 # graphviz is the drawing tool
      4 from sklearn.tree import export_graphviz
----> 5 import graphviz
      6 dot_data = export_graphviz(
      7     model,

C:ProgramDataAnaconda3libsite-packagesgraphviz\__init__.py in <module>
     25 """
     26 
---> 27 from .dot import Graph, Digraph
     28 from .files import Source
     29 from .lang import escape, nohtml

C:ProgramDataAnaconda3libsite-packagesgraphvizdot.py in <module>
     30 
     31 from . import backend
---> 32 from . import files
     33 from . import lang
     34 

C:ProgramDataAnaconda3libsite-packagesgraphvizfiles.py in <module>
     20 
     21 
---> 22 class Base(object):
     23 
     24     _engine = 'dot'

C:ProgramDataAnaconda3libsite-packagesgraphvizfiles.py in Base()
     26     _format = 'pdf'
     27 
---> 28     _encoding = backend.ENCODING
     29 
     30     @property

AttributeError: module 'graphviz.backend' has no attribute 'ENCODING'

推荐答案

我在使用pipdeptree时遇到了类似的问题。似乎有一个very recent changetographviz,意在混淆其内部。引用issue #149中模块作者的回复(backend.FORMATS也有类似问题):

的子模块不是公共API的一部分(参见https://graphviz.readthedocs.io/en/stable/api.html)。请坚持使用文档界面并使用图形。有关详细信息,请参阅https://graphviz.readthedocs.io/en/stable/api.html#graphviz.FORMATS)。

短期内,您可以将graphviz模块…降级看起来0.18是子模块不透明之前的最后一个标记。

继续,您可能希望针对sklearn-pandas存储库创建问题和/或拉入请求,将graphviz.backend.FORMATS替换为graphviz.FORMATS,甚至将其graphviz依赖项限制为0.18

这篇关于如何解析属性错误:模块&#39;图形。后端没有属性&#39;编码&#39;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆