"RuntimeError: assicurarsi che gli eseguibili Graphviz siano sul percorso del sistema" dopo l'installazione di Graphviz 2.38


138

Ho scaricato la Graphviz 2.38versione MSI e installato nella cartella C:\Python34, quindi eseguo pip install Graphviz, tutto è andato bene. Nel percorso del sistema ho aggiunto C:\Python34\bin. Quando ho provato a eseguire uno script di test, in linea filename=dot.render(filename='test'), ho ricevuto un messaggio

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

Ho provato a inserire "C:\Python34\bin\dot.exe"il percorso del sistema, ma non ha funzionato e ho persino creato una nuova variabile d'ambiente "GRAPHVIZ_DOT"con valore "C:\Python34\bin\dot.exe", ancora non funzionante. Ho provato a disinstallare Graphviz e pip uninstall graphviz, quindi, reinstallarlo e installarlo nuovamente, ma non funziona nulla.

L'intero messaggio di traceback è:

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

Qualcuno ha qualche esperienza con esso?

Risposte:


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

In Windows basta aggiungere queste 2 righe all'inizio, dove 'D: / Programmi (x86) /Graphviz2.38/bin/' è sostituito dall'indirizzo di dove si trova il tuo file bin.

Questo risolve il problema.


9
lavorato su Windows, ho scaricato graphviz-2.38.zip da qui graphviz.gitlab.io/_pages/Download/Download_windows.html . Decomprimilo e posizionalo nella cartella menzionata
user3046442

Questo funziona per me. Ho provato ad aggiungere questo alle variabili di ambiente dell'utente e di sistema, ma non funziona, solo la tua soluzione funziona per me.
Tom,

questo ha funzionato anche per me, ma ha gettato un altro errore prima di funzionare. Per qualche motivo mi ha dato una configurazione side-by-side .... errore. Ho dovuto reinstallare anche il pacchetto ridistribuibile di Microsoft Visual C ++ 2008 (x86). Se qualcuno ha lo stesso problema, ecco il link: [ microsoft.com/de-DE/download/details.aspx?id=29]
Marco,

Ho usato Chocolatey per installare graphvizchoco install -y graphviz
Nissan il

90

Dovresti installare il pacchetto graphviz nel tuo sistema (non solo il pacchetto python). Su Ubuntu dovresti provare:

sudo apt-get install graphviz

Se questo non funziona (dice che il pacchetto è referenziato ma non c'è o qualcosa del genere) eseguito sudo apt-get updateper aggiornare apt-get e dirgli quali pacchetti ci sono.
Pro Q

Se ti trovi in ​​un container Docker (come fossi io), ero già roote avevo solo bisognoapt-get install graphviz
the775

79

Questo ha risolto il problema per me su MAC :

  brew install graphviz

2
Per Mac, questa è l'opzione migliore. A meno che tu non voglia usare MacPorts e installare graphviz da qui: graphviz.org/Download_macos.php .
AlexG

1
Grazie, ha funzionato sul mio MAC. Ho provato ad installare sia da pip che da conda ma non ha funzionato.
Catbuilts

Come trovo la mia cartella bin in cui ho graphviz. Sto avendo questo problema e sto davvero uccidendo proprio ora. Appena controllato ho graphviz 2.38.
Herc01,

55

Per Windows:

  1. Installa il pacchetto Windows da: https://graphviz.gitlab.io/_pages/Download/Download_windows.html
  2. Installa Python graphviz pacchetto
  3. Inserisci C:\Program Files (x86)\Graphviz2.38\bin al percorso utente
  4. Aggiungi C:\Program Files (x86)\Graphviz2.38\bin\dot.exeal percorso di sistema

Questo ha funzionato per me!


15
Chiudi anche il "cmd" su cui è in esecuzione il notebook jupyter. CMD in esecuzione esistente non rileva le nuove modifiche nelle variabili di ambiente.
Rohit Nandi,

Non ha funzionato per me fino a quando non ho riavviato il sistema
Mohammad Nazari il

Questo ha funzionato perfettamente. Ho dovuto solo riavviare nuovamente il notebook. Grazie.
Amresh Giri,

21

Prova a usare:

conda install python-graphviz

L'eseguibile graphviz si trova su un percorso diverso dalla directory conda, se si utilizza pip install graphviz.


Conda install graphvizlavorato su windows! nient'altro sembra funzionare: \
Joel Carneiro il

14

OSX Sierra, Python 2.7, Graphviz 2.38

L'utilizzo pip install graphvize conda install graphvizENTRAMBE risolve il problema.

pipottiene solo un problema di percorso uguale al tuo e condaottiene solo un errore di importazione.


SOLO questo ha funzionato per me. dopo aver provato tutto. Grazie.
Meghna Natraj,

Conda install graphvizlavorato su windows! nient'altro sembra funzionare: \
Joel Carneiro il

10

Aggiungi qui sotto il PERCORSO Variabile ambientale (sistema) su Windows

C: \ Programmi (x86) \ Graphviz2.38 \ bin

lì puoi trovare file .exe

Se non funziona

Trova la cartella Graphviz2.38 / bin nel tuo Program Files non in python lib

Quindi, aggiungi al tuo PERCORSO

È importante trovare una cartella in cui sono presenti file .exe


sembra che solo il tuo post possa risolvere il mio problema ... win10 enterprise edition, jupyter notebook, py 3.6
Travis,

10

Passaggio 1: installare il file binario Graphviz

Finestre:

  1. Scarica Graphviz da http://www.graphviz.org/download/
  2. Aggiungi sotto alla variabile d'ambiente PATH (menziona la versione di graphviz installata):
    • C: \ Programmi (x86) \ Graphviz2.38 \ bin
    • C: \ Programmi (x86) \ Graphviz2.38 \ bin \ dot.exe
  3. Chiudere qualsiasi taccuino Juypter aperto e il prompt dei comandi
  4. Riavvia il prompt di Jupyter / cmd e verifica

Linux:

  1. sudo apt-get update
  2. sudo apt-get install graphviz
  3. o compilalo manualmente da http://www.graphviz.org/download/

Passaggio 2: installare il modulo graphviz per Python

pip:

  • pip installa graphviz

Conda:

  • conda install graphviz

1
Risolto per me su winzoz
rakwaht il

1
Spiegazione eccellente! Grazie ~
Bright Chang

8

Prova conda install graphviz. Ho avuto lo stesso problema, l'ho risolto con il comando citato in MacOS.


1
Conda install graphvizlavorato su windows! nient'altro sembra funzionare: \
Joel Carneiro il

8

Utilizzando conda install graphvize conda install python-graphvizper installare GraphViz su Windows10 il percorso necessario era C: / ProgramData / Anaconda3 / Library / bin / graphviz / per me. Cioè aggiungendo

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

risolto il problema per me.


6
conda install python-graphviz

Per Windows, installa Python Graphviz che includerà gli eseguibili nel percorso.


1
Conda install graphvizlavorato su windows! nient'altro sembra funzionare: \
Joel Carneiro il

6

Su Ubuntu Linux questo mi ha risolto:

pip install graphviz
sudo apt-get install graphviz

Puoi anche provare conda install -c conda-forge graphvizinvece di pip se usi Anaconda.


1
Questo ha funzionato anche per me in WSL in Windows 10. L'installazione tramite pip non è stata sufficiente.
Nerxis,

6

Quando ho risolto questo problema da solo, ho usato questo tutorial di GitHub , che ha analizzato la causa di questo problema. Se leggiamo tra le righe, dice che ha bisogno del sistema e del grafico python vale a dire. Inoltre conda install, dovremmo eseguire:

conda install -c conda-forge python-graphviz

Quindi riavviare il kernel; Esso funziona magicamente.


4

1) Graphviz: scarica decomprimere in un determinato punto del sistema (pip non funziona in Windows) e includere la cartella bin nel percorso ('imposta variabili di ambiente in Windows' OPPURE) impostata manualmente in ciascun programma

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

2) Quindi metti il ​​modello in trama

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

Dopo aver installato il pacchetto ( collegamento se non lo hai fatto), aggiungi il percorso a dot.exe come nuova variabile di sistema.

Il percorso predefinito è:

C: \ Programmi (x86) \ Graphviz2.38 \ bin \ dot.exe

inserisci qui la descrizione dell'immagine


2

Ho avuto lo stesso problema su Linux con Jupyter.

Per risolverlo ho aggiunto la libreria di punti a python sys.path

Primo: controlla se dotè installato,

Quindi:
trova il suo percorso whereis dot-> / local / notebook / miniconda2 / envs / ik2 / bin / dot

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


15
Su Linux l'ho appena fatto sudo apt-get install graphviz(dopo averlo fatto pip install graphviz) e dopo ha funzionato.
parole per caso

@wordsforthewise Il tuo commento dovrebbe essere una risposta. Risolto il problema per me
Riken Shah,

@wordsforthewise questa è la risposta!
SeF


2

Ho avuto lo stesso messaggio di errore su Mac OS (El Capitan), utilizzando l'IDE PyCharm. Avevo installato Graphviz usando brew, come raccomandato nella risposta di RZK, e installato il pacchetto python graphviz usando PyCharm (potevo verificare che Graphviz fosse installato correttamente provando dot -Vin un terminale e ottenendo:dot - graphviz version 2.40.1 (20161225.0304) . Tuttavia stavo ancora ricevendo il messaggio di errore quando provavo a chiamare Graphviz da PyCharm.

Ho dovuto aggiungere il percorso / usr / local / bin nelle opzioni di PyCharm, come raccomandato nella risposta a questa domanda per risolvere il problema.


2

Questo sta mostrando alcuni problemi relativi al percorso:

pip install graphviz

Quindi questo ha funzionato per me:

sudo apt-get install graphviz

2

Sono su macOS Catalina 10.15.3 e ho avuto un errore simile: ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

Risolto con:

pip3 install graphviz E brew install graphviz

Nota pip3 installche restituirà solo il messaggio di successo, Successfully installed graphviz-0.13.2quindi dobbiamo ancora eseguire brew installper ottenere graphviz 2.42.3 (a partire dal 10 marzo 2020, alle 18:00).


1

Per utenti Linux che non hanno accesso come root e quindi non possono usarli sudo comando come suggerito in altre risposte ...

Innanzitutto, attiva il tuo ambiente virtuale conda (se vuoi usarne uno):

source activate virtual-env-name

Quindi installa graphviz, anche se l'hai già fatto usando pip:

conda install graphviz

quindi copia il risultato del seguente comando:

whereis dot

Nel mio caso, il suo output è:

/home/nader/anaconda2/bin/dot

e aggiungilo alla tua variabile PATH. Basta eseguire il comando di seguito

nano ~/.bashrc

e aggiungi queste righe alla fine del file aperto:

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

ora premi Ctrl+ Oe poi Ctrl+ Xper salvare ed uscire.

Ormai il problema dovrebbe essere risolto.

Utenti Pycharm, si prega di notare: Pycharm non vede sempre la variabile PATH come il proprio terminale. Questa soluzione non funziona per Pycharm e forse per altri IDE. Ma puoi risolverlo aggiungendo questa riga di codice:

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

al tuo programma Python. Non dimenticare di

import os

primo :)

Modifica: se non si desidera utilizzare conda, è comunque possibile installare graphviz da qui senza alcuna autorizzazione di root e aggiungere la cartella bin alla variabile PATH. Non l'ho provato.


cosa succede se whereis dotnon viene emesso nulla ma dot:? Sto usando PyCharm su Windows per connettermi al server Ubuntu 16.04 e non riesco a trovare la cartella bin necessaria da aggiungereos.environ["PATH"] += os.pathsep + '...'
bit_scientist

Piuttosto si riferisce a questo mio numero pubblicato qui
bit_scientist il

1

1.installare il pacchetto windows da: https://graphviz.gitlab.io/_pages/Download/Download_windows.html e scaricare il file msi

Aggiungi in variabili ambientali 2. Aggiungi C: \ Programmi (x86) \ Graphviz2.38 \ bin al percorso dell'utente

  1. Aggiungi C: \ Programmi (x86) \ Graphviz2.38 \ bin \ dot.exe al percorso di sistema

  2. Riavvia il tuo notebook Python.

Funzionerà.


1

Aggiungi graphviz al percorso di sistema

  1. Windows: modifica le variabili di ambiente di sistema.
  2. Scegli Variabili d'ambiente.
  3. Seleziona percorso - Nuovo
  4. Aggiungi il percorso di graphviz

Es: C: \ Users \ AppData \ Local \ Continuum \ anaconda3 \ Library \ bin \ graphviz


0

Sistema operativo Mojave 10.14., Python 3.6

L'utilizzo ha pip install graphvizavuto un buon feedback nel terminale, ma ha portato a questo errore quando ho provato a creare un grafico in un notebook Jupyter. Ho quindi eseguito brew install graphviz, che ha dato un errore nel terminale. Poi ho corso conda install graphvize il grafico ha funzionato.

Dal commento di @ Leighton: pip ha solo un problema di percorso uguale al tuo e conda ha solo un errore di importazione.


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

Questo ha risolto il problema PATH su MAC per me!


0

Se non stai usando Conda ma Vanilla Python, funziona 'brew install graphviz'.


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

prova a digitare il seguente codice nel prompt di anaconda uno alla volta.

questo ha funzionato per me.

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

provare a farlo con Python import sys! conda install --yes --prefix {sys.prefix} graphviz import graphviz


Per favore, aggiungi maggiori dettagli alla tua risposta, ad esempio perché questo risolverà il problema
Deiv
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.