Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro module 'graphviz' has no attribute 'Source'

Olá, eu uso o Windows, tenho instalado o Anaconda e uso o Jupyter do pacote. Pelo notebook do Jupyter já instalei a biblioteca do graphviz, usando o comando !pip install graphviz==0.19.1

Já pra etapa de instalar o executável do graphviz, vi que no anaconda já estava pré-instalada a versão 2.38. Desinstalei e instalei a 2.50.

Mas mesmo que eu execute o comando:

from sklearn.tree import export_graphviz
import graphviz

dot_data = export_graphviz(modelo, out_file=None)
grafico = graphviz.Source(dot_data)
grafico

Vem o erro:

module 'graphviz' has no attribute 'Source'

Minha versão do Python é 3.9.7. Conseguem me ajudar? Está frustrante não conseguir acompanhar a aula por isso

2 respostas

Conforme dica de uma usuária, pelo cmd do anaconda executei "conda install python-graphviz". O erro "module 'graphviz' has no attribute 'Source'" parou, mas agora vem o erro abaixo:

AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_8392/1443118188.py in <module>
      1 from sklearn.tree import export_graphviz
----> 2 import graphviz
      3 
      4 dot_data = export_graphviz(modelo, out_file=None)
      5 grafico = graphviz.Source(dot_data)

~\anaconda3\lib\site-packages\graphviz\__init__.py in <module>
     25 """
     26 
---> 27 from .dot import Graph, Digraph
     28 from .files import Source
     29 from .lang import escape, nohtml

~\anaconda3\lib\site-packages\graphviz\dot.py in <module>
     30 
     31 from . import backend
---> 32 from . import files
     33 from . import lang
     34 

~\anaconda3\lib\site-packages\graphviz\files.py in <module>
     20 
     21 
---> 22 class Base(object):
     23 
     24     _engine = 'dot'

~\anaconda3\lib\site-packages\graphviz\files.py in Base()
     26     _format = 'pdf'
     27 
---> 28     _encoding = backend.ENCODING
     29 
     30     @property

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

Conseguem ajudar, por favor?

solução!

Só pra deixar registrado, pelo Anaconda não consegui de jeito nenhum. Ele vem pré instalado o 2.38, e não funciona, dá erros de código por ser versão antiga. Tentei instalar a biblioteca 2.50 do graphviz, mas é um rolo danado pelo anaconda, pois ela não instala as dependências. Desinstalei o Anaconda, instalei o python, depois baixei as bibliotecas necessárias da aula, e depois instalei os executáveis do graphviz. A variável de ambiente ficou com C:\Program Files\Graphviz\bin, mas mesmo assim o python da aula não encontrava os executáveis. Tive que acrescentar C:\Program Files\Graphviz\bin\dot.exe, aí sim achou.