“RuntimeError: verifique se os executáveis ​​do Graphviz estão no caminho do seu sistema” depois de instalar o Graphviz 2.38


138

Eu baixei a Graphviz 2.38versão MSI e instalei na pasta C:\Python34, então eu corro pip install Graphviz, tudo correu bem. No caminho do sistema eu adicionei C:\Python34\bin. Quando tentei executar um script de teste, na fila filename=dot.render(filename='test'), recebi uma mensagem

 RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

Tentei colocar "C:\Python34\bin\dot.exe"no caminho do sistema, mas não funcionou, e até criei uma nova variável de ambiente "GRAPHVIZ_DOT"com valor "C:\Python34\bin\dot.exe", ainda não funcionando. Tentei desinstalar o Graphviz e pip uninstall graphviz, em seguida, reinstalá-lo e instalar o pip novamente, mas nada funciona.

Toda a mensagem de retorno é:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 220, in render
    proc = subprocess.Popen(cmd, startupinfo=STARTUPINFO)
  File "C:\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Python34\lib\subprocess.py", line 1112, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Documents\Kissmetrics\curves and lines\eventNodes.py", line 56, in <module>
    filename=dot.render(filename='test')
  File "C:\Python34\lib\site-packages\graphviz\files.py", line 225, in render
    'are on your systems\' path' % cmd)
RuntimeError: failed to execute ['dot', '-Tpdf', '-O', 'test'], make sure the Graphviz executables are on your systems' path

Alguém tem alguma experiência com isso?

Respostas:


97
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

No Windows, basta adicionar essas 2 linhas no início, onde 'D: / Arquivos de programas (x86) /Graphviz2.38/bin/' é substituído pelo endereço de onde está o seu arquivo bin.

Isso resolve o problema.


9
trabalhei no Windows, baixei graphviz-2.38.zip daqui graphviz.gitlab.io/_pages/Download/Download_windows.html . Descompacte-o e coloque-o na pasta mencionada #
— user3046442

Isso funciona para mim. Tentei adicionar isso às variáveis ​​de ambiente do usuário e do sistema, mas isso não funciona, apenas sua solução funciona para mim.
— Tom

isso funcionou para mim também, mas gerou outro erro antes de trabalhar. Por alguma razão, isso me deu uma configuração lado a lado ... - erro. Eu tive que reinstalar adicionalmente o pacote redistribuível do Microsoft Visual C ++ 2008 (x86). Se alguém tiver o mesmo problema, aqui está o link: [ microsoft.com/de-DE/download/details.aspx?id=29]
— Marco

Eu usei chocolatey para instalar o graphvizchoco install -y graphviz
— Nissan

90

Você deve instalar o pacote graphviz no seu sistema (não apenas o pacote python). No Ubuntu, você deve tentar:

sudo apt-get install graphviz

Se isso não funcionar (ele diz que o pacote está relacionado, mas não está lá ou algo parecido), é executado sudo apt-get updatepara atualizar o apt-get e informar quais pacotes estão lá.
— Pro Q

Se você está em um Docker Container (como eu estava), eu já estava roote só precisavaapt-get install graphviz
— the775

79

Este resolveu o problema para mim no MAC :

  brew install graphviz

2
Para mac, parece que esta é a melhor opção. A menos que você queira usar o MacPorts e instalar o graphviz a partir daqui: graphviz.org/Download_macos.php .
— AlexG

1
Obrigado, funcionou no meu MAC. Eu tentei instalar pelo pip e conda, mas não funcionou.
— Catbuilts

Como encontro minha pasta bin onde tenho graphviz. Estou tendo esse problema e está realmente matando agora. Acabei de verificar que tenho graphviz 2.38.
— Herc01 21/02/19

55

Para Windows:

  1. Instale o pacote do Windows em: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Instale o graphvizpacote python
  3. Adicionar C:\Program Files (x86)\Graphviz2.38\binao caminho do usuário
  4. Adicionar C:\Program Files (x86)\Graphviz2.38\bin\dot.exeao caminho do sistema

Isso funcionou para mim!


15
Feche também o "cmd" no qual o notebook jupyter está sendo executado. O CMD em execução existente não captura as novas alterações nas variáveis ​​de ambiente.
— Rohit Nandi

Não funcionou para mim até que eu reiniciei o sistema
— Mohammad Nazari

Isso funcionou perfeitamente. Só tive que reiniciar o notebook novamente. Obrigado.
— Amresh Giri 20/04

21

Tente usar:

conda install python-graphviz

O executável graphviz fica em um caminho diferente do diretório conda, se você usar pip install graphviz.


Conda install graphviztrabalhou no windows! nada parece funcionar: \
— Joel Carneiro

14

OSX Sierra, Python 2.7, Graphviz 2.38

Usar pip install graphvize conda install graphvizAMBOS resolve o problema.

pipobtém apenas o problema do caminho igual ao seu e condaobtém apenas o erro de importação.


SOMENTE isso funcionou para mim. depois de tentar de tudo. obrigado.
— Meghna Natraj

Conda install graphviztrabalhou no windows! nada parece funcionar: \
— Joel Carneiro

10

Basta adicionar abaixo ao seu PATH de Variável Ambiental (sistema) no Windows

C: \ Arquivos de programas (x86) \ Graphviz2.38 \ bin

lá, você pode encontrar arquivos .exe

Se não funcionar

Encontre a pasta Graphviz2.38 / bin nos arquivos de programa que não estão na python lib

Em seguida, adicione ao seu PATH

É importante encontrar uma pasta onde existem arquivos .exe


Parece que só o seu post pode resolver o meu problema ... edição de empresa win10, notebook jupyter, py 3.6
— Travis

10

Etapa 1: Instalar o binário Graphviz

Janelas:

  1. Faça o download do Graphviz em http://www.graphviz.org/download/
  2. Adicione abaixo à variável de ambiente PATH (mencione a versão graphviz instalada):
    • C: \ Arquivos de programas (x86) \ Graphviz2.38 \ bin
    • C: \ Arquivos de Programas (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Feche qualquer bloco de anotações Juypter aberto e o prompt de comando
  4. Reinicie o prompt do Jupyter / cmd e teste

Linux:

  1. sudo apt-get update
  2. sudo apt-get instala graphviz
  3. ou construa-o manualmente em http://www.graphviz.org/download/

Etapa 2: instalar o módulo graphviz para python

pip:

  • pip install graphviz

conda:

  • conda install graphviz

1
Resolvido para mim em winzoz
— rakwaht

1
Excelente explicação! Obrigado ~
— Bright Chang

8

Tente conda install graphviz. Eu tive o mesmo problema, resolvi-o pelo comando mencionado no MacOS.


1
Conda install graphviztrabalhou no windows! nada parece funcionar: \
— Joel Carneiro

8

Usando conda install graphvize conda install python-graphvizinstalando o GraphViz no Windows10, o caminho necessário era C: / ProgramData / Anaconda3 / Library / bin / graphviz / para mim. Ou seja, adicionando

import os
os.environ["PATH"] += os.pathsep + 'C:/ProgramData/Anaconda3/Library/bin/graphviz/'

resolveu o problema para mim.


6
conda install python-graphviz

No Windows, instale o Python Graphviz, que incluirá os executáveis ​​no caminho.


1
Conda install graphviztrabalhou no windows! nada parece funcionar: \
— Joel Carneiro

6

No Ubuntu Linux, isso resolveu para mim:

pip install graphviz
sudo apt-get install graphviz

Você também pode tentar, em conda install -c conda-forge graphvizvez de pip, se estiver usando o Anaconda.


1
Isso funcionou para mim na WSL no Windows 10 também. A instalação usando pip não foi suficiente.
— Nerxis 28/02

6

Ao resolver esse problema, usei este tutorial do GitHub , que analisou a causa desse problema. Se lermos nas entrelinhas, ele diz que precisa do sistema e também do vizinho gráfico python . Além disso conda install, precisaríamos executar:

conda install -c conda-forge python-graphviz

Então reinicie o kernel; Ele funciona como um encanto.


4

1) Graphviz - baixe o descompacte em um local específico do sistema (o pip não funciona no Windows) e inclua a pasta bin no caminho ('definir variáveis ​​de ambiente no Windows' OU) definido manualmente em cada programa

import os
os.environ["PATH"] += os.pathsep + 'C:/GraphViz/bin'

2) Em seguida, coloque o modelo para plotar

clf = xgb.train(params, d_train, 1000, evals=evallist, early_stopping_rounds=10)
xgb.plot_tree(clf)
plt.rcParams['figure.figsize'] = [50, 10]
plt.show()

3

Depois de instalar o pacote ( link se não tiver), adicione o caminho para dot.exe como uma nova variável de sistema.

O caminho padrão é:

C: \ Arquivos de Programas (x86) \ Graphviz2.38 \ bin \ dot.exe

insira a descrição da imagem aqui


2

Eu tive o mesmo problema no Linux com Jupyter.

Para resolvê-lo, adicionei a biblioteca de pontos ao python sys.path

Primeiro: verifique se dotestá instalado,

Então:
encontre seu caminho whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

Finalmente, no script python: sys.path.append ("/ local / notebook / miniconda2 / envs / ik2 / bin / dot")


15
No Linux eu apenas fiz sudo apt-get install graphviz(depois de fazer pip install graphviz) e depois disso funcionou.
— wordsforthewise

@wordsforthewise Seu comentário deve ser uma resposta. Resolvido o problema para mim
— Riken Shah

@wordsforthewise, essa é a resposta!
— SeF


2

Eu tive a mesma mensagem de erro no Mac OS (El Capitan), usando o PyCharm IDE. Instalei o Graphviz usando o brew, conforme recomendado na resposta do RZK, e instalei o pacote graphviz python usando o PyCharm (eu poderia verificar se o Graphviz foi instalado corretamente, tentando dot -Vem um terminal e obtendo:dot - graphviz version 2.40.1 (20161225.0304) . Ainda estava recebendo a mensagem de erro ao tentar ligar para o Graphviz do PyCharm.

Eu tive que adicionar o caminho / usr / local / bin nas opções do PyCharm, conforme recomendado na resposta a esta pergunta para resolver o problema.


2

Isso está mostrando algum problema de caminho:

pip install graphviz

Então, isso funcionou para mim:

sudo apt-get install graphviz

2

Estou no macOS Catalina 10.15.3 e tive um erro semelhante: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Corrigido com:

pip3 install graphviz E brew install graphviz

Observe pip3 installque apenas retornará a mensagem de sucesso, Successfully installed graphviz-0.13.2portanto ainda precisamos executar brew installpara obter o graphviz 2.42.3 (a partir de 10 de março de 2020, 18:00).


1

Para usuários do Linux que não têm acesso root e, portanto, não podem usar o sudocomando conforme sugerido em outras respostas ...

Primeiro, ative seu ambiente virtual conda (se você quiser usar um):

source activate virtual-env-name

Em seguida, instale o graphviz, mesmo se você já o fez usando o pip:

conda install graphviz

copie o resultado do seguinte comando:

whereis dot

No meu caso, sua saída é:

/home/nader/anaconda2/bin/dot

e adicione-o à sua variável PATH. Basta executar o comando abaixo

nano ~/.bashrc

e adicione estas linhas ao final do arquivo aberto:

PATH="/home/username/anaconda2/bin/dot:$PATH"
export PATH

agora pressione Ctrl+ Oe depois Ctrl+ Xpara salvar e sair.

O problema deve estar resolvido agora.

Usuários do Pycharm, observe: O Pycharm nem sempre vê a variável PATH da mesma forma que o seu terminal. Esta solução não funciona para Pycharm e talvez outros IDEs. Mas você pode corrigir isso adicionando esta linha de código:

os.environ["PATH"] += os.pathsep + '/home/nader/anaconda2/bin'

para o seu programa python. Não esqueça de

import os

primeiro :)

Edit: Se você não quiser usar o conda, ainda poderá instalar o graphviz a partir daqui sem nenhuma permissão raiz e adicionar a pasta bin à sua variável PATH. Eu não testei isso.


e se whereis dotnada sair senão dot:? Estou usando o PyCharm no Windows para conectar-se ao servidor Ubuntu 16.04 e não consigo encontrar a pasta bin necessária para adicionaros.environ["PATH"] += os.pathsep + '...'
— bit_scientist

Em vez disso, consulte esta edição minha publicada aqui
— bit_scientist 03/03

1

1. Instale o pacote do Windows em: https://graphviz.gitlab.io/_pages/Download/Download_windows.html e baixe o arquivo msi

Adicionar variáveis ​​ambientais 2. Adicione C: \ Arquivos de programas (x86) \ Graphviz2.38 \ bin ao caminho do usuário

  1. Adicione C: \ Arquivos de Programas (x86) \ Graphviz2.38 \ bin \ dot.exe ao caminho do sistema

  2. Reinicie seu notebook python.

Vai funcionar.


1

Adicionar graphviz ao caminho do sistema

  1. Windows - Edite as variáveis ​​de ambiente do sistema.
  2. Escolha variáveis ​​de ambiente.
  3. Selecionar caminho - Novo
  4. Adicione o caminho de graphviz

Ex: C: \ Usuários \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz


0

OS Mojave 10.14., Python 3.6

Usando pip install graphvizteve um bom feedback no terminal, mas levou a este erro quando tentei fazer um gráfico em um notebook Jupyter. Eu então corri brew install graphviz, o que deu um erro no terminal. Então eu corri conda install graphvize o gráfico funcionou.

Do comentário de @ Leighton: o pip só obtém um problema de caminho igual ao seu e o conda apenas recebe um erro de importação.


0
import os
os.environ["PATH"] += os.pathsep + "/Macintosh HD⁩/anaconda3⁩/lib⁩/⁨python3.7⁩/site-packages⁩/sphinx⁩/templates⁩/graphviz"

Isso resolveu o problema PATH no MAC para mim!


0

Se você não estiver usando o Conda, mas o Python baunilha, o 'brew install graphviz' funciona.


0
#Write this on anaconda prompt in admin mode
conda install -c anaconda graphviz
conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz

#check dot -v in window's cmd prompt
C:\WINDOWS\system32>dot -V
dot - graphviz version 2.38.0 (20140413.2041)
(this means graphviz installed successfully)

#Add path to sys and user eve variables
PATH
C:\Anaconda3\pkgs\graphviz-2.38-hfd603c8_2\Library\bin
(search bin folder of graphviz and then copy n paste path in env variables)

#Re-run all cmds in jyupter notebook
#if error occurs (less chances)
#then 
#Restart anaconda and again run all cmds in jyupter notebook
eg.
import graphviz as gp
with open("tree.dot") as f:
    dot_read=f.read()
display(gp.Source(dot_read))

0

tente digitar o seguinte código no prompt do anaconda, um por um.

isso funcionou para mim.

Fonte: https://anaconda.org/conda-forge/python-graphviz

conda install -c conda-forge python-graphviz
conda install -c conda-forge/label/broken python-graphviz
conda install -c conda-forge/label/cf201901 python-graphviz
conda install -c conda-forge/label/cf202003 python-graphviz 

-2

tentando fazer isso no python import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz


Adicione mais detalhes à sua resposta, por exemplo: por que isso resolveria o problema
— Deiv 24/04/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.