1
resposta

Erro no Graphviz. Sistema?

Olá pessoal na hora de executar o graphviz apareceu isso

--------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
~\anaconda3\lib\site-packages\graphviz\backend.py in run(cmd, input, capture_output, check, quiet, **kwargs)
    146 def pipe(engine, format, data, quiet=False):
--> 147     """Return ``data`` piped through Graphviz ``engine`` into ``format``.
    148 

~\anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask)
    950 
--> 951             self._execute_child(args, executable, preexec_fn, close_fds,
    952                                 pass_fds, cwd, env,

~\anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_gid, unused_gids, unused_uid, unused_umask, unused_start_new_session)
   1419             try:
-> 1420                 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
   1421                                          # no special security

FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado

During handling of the above exception, another exception occurred:

ExecutableNotFound                        Traceback (most recent call last)
~\anaconda3\lib\site-packages\IPython\core\formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

~\anaconda3\lib\site-packages\graphviz\files.py in _repr_svg_(self)
    104 
    105     def _repr_svg_(self):
--> 106         return self.pipe(format='svg').decode(self._encoding)
    107 
    108     def pipe(self, format=None):

~\anaconda3\lib\site-packages\graphviz\files.py in pipe(self, format, renderer, formatter)
    126 
    127         return outs
--> 128 
    129     @property
    130     def filepath(self):

~\anaconda3\lib\site-packages\graphviz\backend.py in pipe(engine, format, data, renderer, formatter, quiet)
    204     subprocess.Popen(['open', filepath])
    205 
--> 206 
    207 @tools.attach(view, 'linux')
    208 @tools.attach(view, 'freebsd')

~\anaconda3\lib\site-packages\graphviz\backend.py in run(cmd, input, capture_output, check, quiet, **kwargs)
    148 
    149     Args:
--> 150         engine: The layout commmand used for rendering (``'dot'``, ``'neato'``, ...).
    151         format: The output format used for rendering (``'pdf'``, ``'png'``, ...).
    152         data: The binary (encoded) DOT source string to render.

ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Vocês sabem como posso resolver?

1 resposta

Olá Thiago, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O erro de executável não encontrado (ExecutableNotFound), indica que o caminho para o executável do Graphviz não foi encontrado no PATH do sistema. Recomendo que siga os passos apresentados abaixo, para realizar a execução do Graphviz:

Para visualizar o gráfico gerado pelo Graphviz na IDE, você precisa utilizar o método view() da biblioteca. Esse método abre o gráfico em um visualizador de PDF padrão do sistema.

Porém, além disso, o Graphviz deve ser instalado em seu sistema, baixe o instalador neste link e durante a instalação lembre-se de marcar a opção "Add Graphviz to system PATH". Após isso, inclua em seu código a seguinte linha:

import os
os.environ["PATH"] += os.pathsep + 'C:\\Program Files\\Graphviz\\bin'

Observação: Lembre-se de modificar o caminho para o endereço da pasta bin do programa Graphviz que você instalou - o caminho acima é um exemplo didático.

Já para exibir, use:

grafico = graphviz.Source(dot_data)
grafico.view()

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software