“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.